2016-09-06 4 views
3

最近Swift 2からSwift 3に移行してしまいました。私のAppDelegateでは、UINavigationBarのデフォルト設定を以下のように設定しました。私が抱えている課題は、Swift 3でsetBackgroundImageが認識されなくなり、代替案が見つからないということです。Swift 3:AppDelegateでUINavigationBar setBackgroundImageを設定する方法

誰もが同じ問題が発生し、それを解決できましたか?

let turquoiseBackgroundImage:UIImage = UIImage(named: "navigationBarTurqoise")! 


    **// TODO Below is not working with Swift 3 
    UINavigationBar.appearance().setBackgroundImage(turquoiseBackgroundImage, forBarPosition: .Default)** 


    // Set up Back button to be white in Navigation bar 
    UINavigationBar.appearance().barStyle = UIBarStyle.default 
    UINavigationBar.appearance().tintColor = UIColor.white 

    // Font Name and Size of Title in Navigation Bar 
    if let font = UIFont(name: "TitilliumWeb-Light", size: 20) { 
     UINavigationBar.appearance().titleTextAttributes = [NSFontAttributeName : font, NSForegroundColorAttributeName : UIColor.white] 
    } 

    // Remove hairline between navigation bar and anything below such as search bar 
    UINavigationBar.appearance().shadowImage = UIImage() 

    // Set up status bar (battery, time, etc.) to white 
    UIApplication.shared.statusBarStyle = .lightContent 
+0

スウィフト宣言 'FUNCのsetBackgroundImage(_イメージ:UIImage ?,状態に対する :UIControlState)のような書き換えコード' https://developer.apple.com/reference /uikit/uibutton/1624016-setbackgroundimageなので、 'setBackgroundImage(turquoiseBackgroundImage、for:.default)*' –

+0

**ヒント:**次回は、Xcodeで自動完成させてください。 –

+0

はい、自動完成を試みましたが、UINavigationBar.appearance()の下にsetBackgroundImage関数が全くありません。 UINavigationBarの下にsetBackgroundImage関数がありますが、引数としてUINavigationBarのが入ります。も意味ない? UINavigationBar.setBackgroundImage(<#T ## UINavigationBar#>) –

答えて

5
UINavigationBar.appearance().setBackgroundImage(turquoiseBackgroundImage, forBarPosition: .Default) 

この

UINavigationBar.appearance().setBackgroundImage(turquoiseBackgroundImage, for: .default) 
関連する問題