我正在使用导航栏的背景图片。它在呈现视图控制器时崩溃我的应用程序。我也有所有视图控制器视图的背景图像。 我正在使用像这样的实现
func setNavigationAppearance(tintColor : UIColor, barTintColor : UIColor?) {
let navigationBarAppearace = appDelegateObj.navigationController!.navigationBar
navigationBarAppearace.tintColor = tintColor
navigationBarAppearace.barTintColor = barTintColor
navigationBarAppearace.translucent = false
//navigationBarAppearace.
//Settign the Custome Font and TextColor
if let font = UIFont(name: FontCustom.Regular, size: 17) {
UINavigationBar.appearance().titleTextAttributes = [NSFontAttributeName: font ,NSForegroundColorAttributeName : tintColor]
}
}
我用这张图片调用这个方法 let navigationColor:UIColor = UIColor(patternImage:UIImage(named:AppImagesName.PatternRed)!)
我正在收到这些崩溃日志。
由于未捕获的异常终止应用程序' NSInternalInconsistencyException',原因:'在这种情况下仅支持RGBA或白色空格
我用Google搜索了这一切,都在说删除背景图片或者这是iOS错误。
所以请告诉我可能的解决方案。
答案 0 :(得分:1)
要将背景图像设置为NavigationBar,请使用以下代码:
func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool {
// Override point for customization after application launch.
if let myImage = UIImage(named: "navBarImage.jpg"){
UINavigationBar.appearance().setBackgroundImage(myImage, for: .default)
}
return true
}
截图示例:
要测试样本,请查看我的GitHub链接:
https://github.com/k-sathireddy/NavigationBarBackgroundImageSample