我的应用程序的很大一部分由web视图组成,以提供尚未通过本机实现提供的功能。网络团队没有计划为网站实施黑暗主题。因此,我的应用程序在iOS 13上的暗模式支持看起来会有点一半一半。
是否可以选择退出暗模式支持,这样我们的应用程序总是显示光模式,以匹配网站主题?
我的应用程序的很大一部分由web视图组成,以提供尚未通过本机实现提供的功能。网络团队没有计划为网站实施黑暗主题。因此,我的应用程序在iOS 13上的暗模式支持看起来会有点一半一半。
是否可以选择退出暗模式支持,这样我们的应用程序总是显示光模式,以匹配网站主题?
当前回答
最新更新,
如果你用的是Xcode 10。x,那么默认的UIUserInterfaceStyle是light对于iOS 13.x。当在iOS 13设备上运行时,它只能在灯光模式下工作。
不需要显式地在信息中添加UIUserInterfaceStyle键。plist文件,添加它将给出一个错误时,你验证你的应用程序,说:
无效的信息。plist关键。载荷/AppName.appInfo中的键'UIUserInterfaceStyle'。Plist文件无效。
只在Info中添加uiuserinterfacstyle键。plist文件时使用Xcode 11.x。
其他回答
********** Xcode 11以上的最容易的方法 ***********
将此添加到信息中。Plist before </dict></ Plist >
<key>UIUserInterfaceStyle</key>
<string>Light</string>
如果你没有使用Xcode 11或更高版本(即iOS 13或更高版本的SDK),你的应用程序没有自动选择支持暗模式。所以,没有必要选择退出黑暗模式。
如果你使用的是Xcode 11或更高版本,系统会自动为你的应用启用暗模式。根据你的喜好,有两种方法来禁用暗模式。你可以完全禁用它,也可以为任何特定的窗口、视图或视图控制器禁用它。
禁用黑暗模式完全为您的应用程序
你可以通过在你的应用的信息中包含一个值为Light的UIUserInterfaceStyle键来禁用暗模式。plist文件。 这忽略了用户的偏好,总是应用浅色外观的应用程序。
禁用窗口、视图或视图控制器的暗模式
通过设置适当窗口、视图或视图控制器的overrideUserInterfaceStyle属性,可以强制界面始终以浅色或深色样式显示。
视图控制器:
override func viewDidLoad() {
super.viewDidLoad()
/* view controller’s views and child view controllers
always adopt a light interface style. */
overrideUserInterfaceStyle = .light
}
视图:
// The view and all of its subviews always adopt light style.
youView.overrideUserInterfaceStyle = .light
亮点:
/* Everything in the window adopts the style,
including the root view controller and all presentation controllers that
display content in that window.*/
window.overrideUserInterfaceStyle = .light
注意:苹果强烈鼓励在你的应用中支持暗模式。 你只能暂时禁用黑暗模式。
阅读更多:为你的iOS应用程序选择特定的界面风格
你可以这样做:添加这个新键uiuserinterfacstyle到Info。plist,并将其值设置为Light。并检查警报控制器出现轻模式。
UIUserInterfaceStyle 光 如果你在你的整个应用程序中强制亮/暗模式,而不管用户的设置,通过添加关键uiuserinterfacstyle到你的信息。plist文件并将其值设置为Light或Dark。
在Xcode 12中,你可以将add更改为“appearance”。这会有用的!!
这个问题有很多答案,而不是在信息中使用它。plist你可以在AppDelegate中这样设置:
#if compiler(>=5.1)
if #available(iOS 13.0, *) {
self.window?.overrideUserInterfaceStyle = .light
}
#endif
在Xcode 11.3和iOS 13.3上测试