ben*_*art 2 uiviewcontroller ios swift
我想覆盖这样preferredStatusBarStyle的扩展名UIViewController:
extension UIViewController {
open override var preferredStatusBarStyle: UIStatusBarStyle {
return .lightContent
}
}
Run Code Online (Sandbox Code Playgroud)
编译器抛出此错误 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此处适用于类似的回答:是否可以更改应用程序的默认字体。但是,这样做并不完全安全,如果没有足够的谨慎,您应该期待独角兽的到来。
| 归档时间: |
|
| 查看次数: |
1842 次 |
| 最近记录: |