gpt4 book ai didi

ios - 在将 View Controller 推送到导航堆栈之前调用 viewDidAppear()

转载 作者:搜寻专家 更新时间:2023-11-01 07:14:48 25 4
gpt4 key购买 nike

我的 Storyboard 中有一个基本的导航设置:嵌入在 UINavigationController 中的 Vanilla UIViewController。在我的主 VC 中,我有两个按钮,每个按钮都连接到一个 UIViewController 子类:LabelledVC。在子类的 viewDidAppear(_:) 方法中,我将导航项的 titleView 设置为自定义图像:

class LabelledVC: UIViewController {

override func viewDidAppear(_ animated: Bool) {
super.viewDidAppear(animated)

let logoImage = UIImage(named: "apple")
let logo = UIImageView(image: logoImage)

logo.contentMode = .scaleAspectFit
logo.frame = CGRect(x: 0, y: 0, width: 32, height: 32)

navigationItem.titleView = logo
}

}

由于某些原因 LabelledVCviewDidAppear(_:) 方法在应用加载时被调用(之前它被推送到导航堆栈)这对我来说没有任何意义。你可以找到项目 here .

enter image description here

最佳答案

您的 MainVC 继承自 LabelledVC。因此,当应用程序确实显示此 Controller 时,系统在 ViewController 中调用 viewDidAppear 但您没有此方法的实现,因此系统从父类调用此方法。

enter image description here

还有一点。对于您的示例,配置 NavigationItem 的最佳位置是 viewDidLoad 方法。

关于ios - 在将 View Controller 推送到导航堆栈之前调用 viewDidAppear(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42764767/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com