2016-09-23 76 views
0

我正在使用導航欄的背景圖像。它呈現視圖控制器時崩潰了我的應用程序。我也擁有所有視圖控制器視圖的背景圖像。 我使用實施這樣在iOS中使用導航欄的背景圖像時應用程序崩潰

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] 
    } 
} 

我把這種方法與此圖像 讓navigationColor:的UIColor =的UIColor

而且我得到這些(patternImage:UIImage的(命名AppImagesName.PatternRed)!)崩潰日誌。

終止應用程序由於未捕獲的異常「NSInternalInconsistencyException」,理由是:「只有RGBA或白色的色彩空間在這種情況下

我用Google搜索這個支持,這一切都是說,除去背景圖像或這是iOS的錯誤。

所以請讓我知道可能是什麼解決方案。

+0

公司在哪裏德爲導航欄設置背景圖像? – KSR

+0

@SathiReddy我已經更新了這個問題。請看一看。 –

+0

我正在處理你的問題... – KSR

回答

1

要設置背景圖片導航欄,使用下面的代碼:

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 
    } 

的樣本截圖:

enter image description here

要測試樣本,請查看我的GitHub鏈接:

https://github.com/k-sathireddy/NavigationBarBackgroundImageSample

+0

謝謝,我正在測試。 –

+0

它適合你嗎? – KSR

+0

感謝它的工作。它還沒有崩潰。如果它會崩潰,我會讓你知道。 –