适用于iOS 10 XCode 8.1 Swift 3.0的NavigationBar背景图片
如何设置此特定设置的背景图像? iOS10
和XCode8.1
? 我尝试了下面的一切:
UINavigationBar.appearance().setBackgroundImage(UIImage(named: "navigationBg")!.resizableImage(withCapInsets: UIEdgeInsetsMake(0, 0, 0, 0), resizingMode: .stretch), for: .default) UINavigationBar.appearance().setBackgroundImage(UIImage(named: "navigationBg")! , for: .any, barMetrics: .default) UINavigationBar.appearance().setBackgroundImage(UIImage(named: "navigationBg")! , for: .default)
我可以使用storyboard
设置navigationBar
的颜色,但无法设置图像。
尝试设置“self.navigationItem.titleView”属性
参考: 如何将图像作为导航栏标题
更新:
试试这个,而不是在UINavigationBar()中设置
let navBackgroundImage:UIImage! = UIImage(named: "") self.navigationController?.navigationBar.setBackgroundImage(navBackgroundImage, for: .default)
这是在Swift 3中完美适用于我的代码。
把它放在didFinishLaunchingWithOptions
。
let image = bg_banner // let image = #imageLiteral(resourceName: "bg_banner") UINavigationBar.appearance().setBackgroundImage(image.resizableImage(withCapInsets: UIEdgeInsetsMake(0, 0, 0, 0), resizingMode: .stretch), for: .default)
这是我收到的输出。
要设置NavigationBar背景图像,您可以这样写:
self.navigationController?.navigationBar.setBackgroundImage(UIImage(named:"pattern.png"), for: .default)
要将背景图像设置为整个导航栏,请在swift 3.0中使用此cde,
UINavigationBar.appearance().setBackgroundImage(UIImage(named: "Exam-104")!.resizableImage(withCapInsets: UIEdgeInsetsMake(0, 0, 0, 0)), for: .default)
希望这会帮助你。
XCode 8.1 Swift 3.0 iOS 10
来自Apple文档:
您可以为导航栏设置自定义背景图像。 您可以使用
setBackgroundImage:forBarMetrics:
执行此操作setBackgroundImage:forBarMetrics:
. 请注意,您必须指定条形指标,因为导航条在不同的设备和方向上具有不同的尺寸。
let image = UIImage(named: "navigationBg")! if let navigationController = self.navigationController { navigationController.navigationBar.setBackgroundImage(image, for: .default) }
参考: 导航栏