我的应用程序很大一部分由Web视图组成,以提供本机实现尚不可用的功能。Web团队没有计划为网站实施深色主题。因此,在iOS 13上支持深色模式的情况下,我的应用看起来会一半/一半。
是否可以选择不支持暗模式,以便我们的应用程序始终显示亮模式以匹配网站主题?
我倾向于只将必需品(存储属性,初始化器)放入我的类定义中,并将其他所有内容移动到自己的extension类中,有点像extension我将与之合并的每个逻辑块// MARK:.
例如,对于UIView子类,我最终会得到与布局相关的东西的扩展,一个用于订阅和处理事件等等.在这些扩展中,我不可避免地必须覆盖一些UIKit方法,例如layoutSubviews.我从未注意到这种方法有任何问题 - 直到今天.
以此类层次结构为例:
public class C: NSObject {
public func method() { print("C") }
}
public class B: C {
}
extension B {
override public func method() { print("B") }
}
public class A: B {
}
extension A {
override public func method() { print("A") }
}
(A() as A).method()
(A() as B).method()
(A() as C).method()
Run Code Online (Sandbox Code Playgroud)
输出是A B C.这对我来说没什么意义.我读到有关静态分派的协议扩展,但这不是协议.这是一个常规类,我希望在运行时动态调度方法调用.显然,呼叫C至少应该动态调度和产生C?
如果我删除继承NSObject …
在我使用Xcode 5 for iOS 7构建的iPhone应用程序UIViewControllerBasedStatusBarAppearance=YES中info.plist,我设置了ViewController这个代码:
-(UIStatusBarStyle) preferredStatusBarStyle
{
return UIStatusBarStyleLightContent;
}
Run Code Online (Sandbox Code Playgroud)
但状态栏在黑色背景下仍然是黑色的.
我知道它可以通过设置这个程序范围的更改UIViewControllerBasedStatusBarAppearance=NO在info.plist,但我确实需要改变这种对viewController由viewController基础在运行时.
我的应用程序没有为黑暗模式做准备,我今天不打算对其进行处理。
有没有办法为我的应用禁用暗模式更改?