繁体   English   中英

UIView 扩展在应用首次启动时不起作用

[英]UIView Extension does not work on app first launch

我正在使用以下 UIView 扩展:

https://github.com/snoozelag/GoneVisible

我已成功下载该文件并添加了 Swift 文件,并且我正在使用该扩展程序在导航栏上隐藏(消失的方法)和显示(可见的方法)按钮。 当应用程序首次打开时,如果用户已经登录,我会调用此扩展程序以尝试隐藏某些按钮。但是,这并没有奏效。 奇怪的是,在我转到不同的视图并返回后,它确实可以工作并隐藏按钮。

这是代码:

import UIKit

导入解析

类视图控制器: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. 当您覆盖继承的实现时,不要忘记调用super.viewWillAppear(...)

这可能会解决您的问题 - 但即使不是这样做也是正确的。

更新:

  1. 尝试仅在调用 super.viewDidLoad() 之后调用 setUpPage() 一次

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM