gpt4 book ai didi

ios - UIViewController userInterfaceStyle 总是很轻

转载 作者:行者123 更新时间:2023-12-04 11:43:39 24 4
gpt4 key购买 nike

当启用暗模式时,UIViewControllers 总是使用亮模式。
viewController.traitCollection.userInterfaceStyle 总是 Light 但 window.traitCollection.userInterfaceStyle 是 Dark。
UIUserInterfaceStyle 未在 plist 中设置。我尝试了所有可能的设置 - 将 UIUserInterfaceStyle 添加到 plist,为 UIWindow 和 UIViewController 设置 overrideUserInterfaceStyle。
我为不同的情况记录了 userInterfaceStyle,结果是

TestDarkModeViewController *testController = [[TestDarkModeViewController alloc] initWithNibName:@"TestDarkModeViewController" bundle: nil];
testController.traitCollection.userInterfaceStyle //result Light
但对于
UINavigationController *navController = [[UINavigationController alloc]initWithRootViewController:testController];
navController.traitCollection.userInterfaceStyle //result Dark

UIViewController *testController2 = [[UIViewController alloc]init];
testController2.traitCollection.userInterfaceStyle //result Dark
似乎只有当 Controller 以编程方式从 xib 文件加载时才会发生。知道什么是错误的以及如何解决这个问题吗?

最佳答案

以编程方式设置此属性

 navController.overrideUserInterfaceStyle = //.light/.dark
您还可以强制设置 windows 属性。
window.overrideUserInterfaceStyle = //.light/.dark

关于ios - UIViewController userInterfaceStyle 总是很轻,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68284854/

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