使用Swift在AppDelegate中使用UINavigationBar setBackgroundImage

时间:2014-11-03 21:56:52

标签: ios swift uinavigationbar appdelegate

我正在尝试在Swift中的App Delegate中全局设置背景图像到导航栏。 我可以让它在像这样的单个View Controller上工作:

var topBar: UINavigationBar!

topBar.setBackgroundImage(UIImage(named: "navbar"), forBarMetrics:
.Default)

但是当我尝试将以下内容添加到App Delegate时,它会因未捕获的异常而崩溃:

UINavigationBar.appearance().setBackgroundImage(UIImage(named:
"navbar"), forBarMetrics: .Default)

2 个答案:

答案 0 :(得分:1)

好的,我删除了导航栏并在故事板中添加了新的...现在它仅适用于App Delegate代码。我想这只是Xcode 6 / Swift的错误。

答案 1 :(得分:0)

只需在应用程序委托中添加这两行

 func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool {

let navBackgroundImage:UIImage! = UIImage(named: "navbar.png")

UINavigationBar.appearance().setBackgroundImage(navBackgroundImage, for: .default)}