gpt4 book ai didi

ios - 无法从基 UIViewController 类继承属性

转载 作者:可可西里 更新时间:2023-11-01 01:36:54 25 4
gpt4 key购买 nike

我是 iOS 开发的新手,这可能是一个简单的问题。我的应用程序将有许多共享相似属性的 View Controller 。我创建了一个基本 View Controller 类,它是 UIViewController 的子类。所有其他 View Controller 都是基础 View Controller 的子类。但是,我在基本 View Controller 类中设置的属性不会被继承。例如,导航栏按钮应该都是绿色的,但在我构建应用程序时却是默认的蓝色。

这是基本的 View Controller 类:

class BaseViewController: UIViewController {

override func viewDidLoad() {
super.viewDidLoad()
self.navigationItem.leftBarButtonItem?.tintColor = UIColor.greenColor()
self.navigationItem.rightBarButtonItem?.tintColor = UIColor.greenColor()
}

这是其他 View Controller 的代码,它们继承了上面的基础 View Controller :

class AboutViewController: BaseViewController {

override func viewDidLoad() {
super.viewDidLoad()
self.title = NSLocalizedString("About", comment: "About page title")
}

我在网上和 SO 上搜索过类似的问题,但找不到答案。我没有发现我的代码有任何根本性的错误。我正在使用 Xcode 7.2.1 并在 iOS 8+ 上进行测试。还在 Xcode 7.2.3 beta 中进行了测试,但结果相似。

最佳答案

据我所知,这不是继承问题。如果您在 BaseViewController 的 viewDidLoad 中设置断点,它确实会执行该代码。我认为您的问题在于如何更改色调。在 iOS 中自定义导航栏非常痛苦,以至于我经常偏离使用导航 Controller 并最终创建我自己的顶部栏 View ,我可以完全自定义。

如果您尝试更改整个应用程序左右栏项目的色调,请将此代码放入 application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]? ) 功能:

UINavigationBar.appearance().tintColor = UIColor.greenColor()

这是我创建的一篇博文,展示了如何更改 UINavigationBar 的其他颜色:Navigation Bar Colors .

关于ios - 无法从基 UIViewController 类继承属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36165802/

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