Расширение UIView не работает при первом запуске приложения - PullRequest
0 голосов
/ 30 марта 2020

Я использую следующее расширение UIView:

https://github.com/snoozelag/GoneVisible

Я успешно загрузил файл и добавил файл Swift, и я использую расширение для скрыть (ушел метод) и показать (видимый метод) кнопки на панели навигации. Когда приложение впервые открывается, я вызываю это расширение, пытаясь скрыть определенные кнопки, если пользователь уже вошел в систему. Однако это не сработало. Странно, он работает и скрывает кнопки после перехода к другому виду и go назад.

Вот код:

import UIKit

import Parse

class ViewController: UIViewController {

@IBOutlet weak var signUpButton: UIButton!
@IBOutlet weak var logInButton: UIButton!
@IBOutlet weak var myAccountButton: UIButton!

@IBOutlet weak var bigGame: UIImageView!


private func setUpPage(){
    let currentUser = PFUser.current()
    if currentUser != nil {
      // Do stuff with the user
        self.myAccountButton.visible()
        self.signUpButton.gone()
        self.logInButton.gone()

    } else {
      // Show the signup or login screen
        self.myAccountButton.gone()
        self.signUpButton.visible()
        self.logInButton.visible()
    }
}


override func viewDidLoad() {

    setUpPage()

    super.viewDidLoad()

    self.navigationItem.hidesBackButton = true;

}

override func viewWillAppear(_
    animated: Bool) {
    setUpPage()
}

Мой вопрос, как мне получить это расширение срабатывает при первом открытии приложения?

Большое спасибо за помощь:)

1 Ответ

0 голосов
/ 30 марта 2020
  1. Не забудьте вызвать super.viewWillAppear(...) при переопределении унаследованной реализации.

Это может решить вашу проблему - но даже если это не правильно, сделать это.

Обновление:

попробуйте вызвать setUpPage () только один раз и только после вызова super.viewDidLoad ()
...