我的 iOS 应用程序使用故事板作为 UI,并使用自定义色调作为导航栏的背景颜色。
我已经在 Xcode 13 beta 5上测试了我的应用程序,导航栏是“白色”的,导航栏上的文字是不可见的。
在 https://developer.apple.com/forums/thread/682420的苹果开发者论坛上,它声明 在 iOS15中,UIKit 将 scrollEdge卖相(默认情况下会产生一个透明的背景)的使用扩展到了所有的导航条要恢复旧的外观,必须采用新的 UINavigationBar 外观 API
我添加了以下代码(来自上面的链接)到应用程序代理“ application (_ application: UIApplication,did FinishLaunchingWithOptions launchOptions”:
if #available(iOS 13, *) {
let navigationController = UINavigationController(navigationBarClass: nil, toolbarClass: nil)
let navigationBar = navigationController.navigationBar
let appearance = UINavigationBarAppearance()
appearance.configureWithOpaqueBackground()
appearance.backgroundColor = UIColor(red: 0.0/255.0, green: 125/255.0, blue: 0.0/255.0, alpha: 1.0)
navigationBar.standardAppearance = appearance;
navigationBar.scrollEdgeAppearance = navigationBar.standardAppearance
navigationBar.isTranslucent = false
}
这并不能解决问题。我仍然有自定义色彩设置在故事板编辑器的导航栏。我是否需要删除自定义色调,或者我的外观 API 实现错误?