如何使UIImage适合整个UINavigationBar视图的大小

Fro*_*art 5 xcode interface-builder uinavigationbar ios xcode6

我需要为UINavigationController整个应用程序的条形图设置背景图像,所以我写了下面的代码:

func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject : AnyObject]?) -> Bool {

    let backgroundImage = UIImage(named: "NavBar")
    UINavigationBar.appearance().setBackgroundImage(backgroundImage, forBarMetrics: .Default)

    return true
}
Run Code Online (Sandbox Code Playgroud)

但是我需要UIImage调整条形的大小,因为在我的情况下,它太大而且不适合整个条形.我该怎么做?

提前致谢.

Ste*_*eve 8

它应该自动重复以填充导航栏大小,但是如果您想要拉伸它,您可以更改设置资产目录中的切片插入:

https://developer.apple.com/library/ios/recipes/xcode_help-image_catalog-1.0/chapters/SlicinganImage.html

或者在代码中这样:

func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool {

    let backgroundImage = UIImage(named: "NavBar")?.resizableImageWithCapInsets(UIEdgeInsetsMake(0, 15, 0, 15), resizingMode: UIImageResizingMode.Stretch)

    UINavigationBar.appearance().setBackgroundImage(backgroundImage, forBarMetrics: .Default)

    return true
}
Run Code Online (Sandbox Code Playgroud)