gpt4 book ai didi

ios - 覆盖 UIViewConrtoller 扩展中的 preferredStatusBarStyle

转载 作者:可可西里 更新时间:2023-11-01 00:35:50 27 4
gpt4 key购买 nike

我想在 UIViewController 的扩展中覆盖 preferredStatusBarStyle,如下所示:

extension UIViewController {
open override var preferredStatusBarStyle: UIStatusBarStyle {
return .lightContent
}
}

编译器抛出此错误Getter for 'preferredStatusBarStyle' with Objective-C selector 'preferredStatusBarStyle' conflicts with method 'preferredStatusBarStyle()' with the same Objective-C selector

将相同的覆盖应用到 UINavigationController 而不是 UIViewController 是可行的;但是 preferredStatusBarStyle 是 UIViewController 继承的 var。

-> 为什么可以将此扩展应用到 UINavigationController 但不能应用到 UIViewController

最佳答案

您不能通过 Swift 中引入属性的类的扩展以这种方式覆盖(重新声明实现)已经实现的属性。

您绝对应该创建一个 UIViewController 子类并在整个应用程序范围内使用它。

但是,有一个选项。您可以使用 Objective-C 通过提供一个扩展类别来覆盖它,类似于应用于 UIFont 的东西在这里回答:Is there a way to change default font for your application .但是,这样做并不完全安全,您应该预料到 unicorn 会在不够小心的情况下出现。

关于ios - 覆盖 UIViewConrtoller 扩展中的 preferredStatusBarStyle,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42581694/

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