ten*_*dai 22 xcode uikit ios swift xcode13
我有一个 iOS 应用程序,自从升级到 Xcode 13 以来,我注意到选项卡和导航栏有一些特殊的变化。在 Xcode 13 中,选项卡和导航栏上现在有这个黑色区域,并且在启动应用程序时,选项卡栏和导航栏现在都是黑色的。奇怪的是,如果视图有滚动或表格视图,如果我向上滚动,底部选项卡栏将恢复其白色,如果我向下滚动,导航栏将恢复其白色。
N:B:我已经从 iOS 13 及更高版本强制使用浅色主题:
if #available(iOS 13.0, *) {
window!.overrideUserInterfaceStyle = .light
}
Run Code Online (Sandbox Code Playgroud)
任何人都可以帮助我或指出正确的方向来处理这种特殊性吗?
是否有一个简单的修复方法可以让 Storyboard 重新调整,或者在这种情况下我必须手动更改每个视图?
升级前的情节提要示例:
之后:
升级前后(分别)的模拟器屏幕:
小智 27
关于导航栏黑了,尝试一下:
let appearance = UINavigationBarAppearance()
appearance.configureWithOpaqueBackground()
appearance.backgroundColor = .red
appearance.titleTextAttributes = [.font:
UIFont.boldSystemFont(ofSize: 20.0),
.foregroundColor: UIColor.white]
// Customizing our navigation bar
navigationController?.navigationBar.tintColor = .white
navigationController?.navigationBar.standardAppearance = appearance
navigationController?.navigationBar.scrollEdgeAppearance = appearance
Run Code Online (Sandbox Code Playgroud)
我写了一篇新文章来讨论它。
https://medium.com/@eduardosanti/uinavigationbar-is-black-on-ios-15-44e7852ea6f7
Dmy*_*nko 16
更新到 XCode 13 和 iOS 15 后,我还遇到了一些选项卡栏问题,其中包含不同状态的栏背景颜色和项目文本颜色。我修复它的方法:
if #available(iOS 15, *) {
let tabBarAppearance = UITabBarAppearance()
tabBarAppearance.backgroundColor = backgroundColor
tabBarAppearance.stackedLayoutAppearance.selected.titleTextAttributes = [.foregroundColor: selectedItemTextColor]
tabBarAppearance.stackedLayoutAppearance.normal.titleTextAttributes = [.foregroundColor: unselectedItemTextColor]
tabBar.standardAppearance = tabBarAppearance
tabBar.scrollEdgeAppearance = tabBarAppearance
} else {
UITabBarItem.appearance().setTitleTextAttributes([.foregroundColor: selectedItemTextColor], for: .selected)
UITabBarItem.appearance().setTitleTextAttributes([.foregroundColor: unselectedItemTextColor], for: .normal)
tabBar.barTintColor = backgroundColor
}
Run Code Online (Sandbox Code Playgroud)
ano*_*eal 12
对我来说,我对导航栏和选项卡栏都有问题,所以我在全局应用了样式AppDelegate
func configureNavigationBarAppearance() {
let appearance = UINavigationBarAppearance()
appearance.configureWithOpaqueBackground()
appearance.backgroundColor = .white
UINavigationBar.appearance().standardAppearance = appearance
UINavigationBar.appearance().scrollEdgeAppearance = appearance
}
func configureTabBarAppearance() {
let appearance = UITabBarAppearance()
appearance.backgroundColor = .white
UITabBar.appearance().standardAppearance = appearance
UITabBar.appearance().scrollEdgeAppearance = appearance
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
17281 次 |
| 最近记录: |