Sat*_*oup 5 navigationbar navigationitem ios swift
我在下面的代码中更改了下一个屏幕上的后退按钮图像。
我的应用程序中有 30 个屏幕,我希望所有 30 个屏幕上的后退按钮都相同。是否有可能我不在所有 30 个屏幕上复制粘贴此代码而只编写一次,而是在 30 个屏幕上重复使用它。
此外,当我重新使用它时,带有后退按钮的代码应该可以在所有屏幕上正常工作
我正在使用 iOS 8 和 Xcode 6。
override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {
let backButtonImage: UIImage = UIImage(named: "back")!
var backBarItem: UIBarButtonItem = UIBarButtonItem(image: backButtonImage, style: UIBarButtonItemStyle.Plain, target: self, action: Selector("method"))
segue.destinationViewController.navigationItem.leftBarButtonItem = backBarItem;
}
func method() {
self.navigationController?.popViewControllerAnimated(true)
}
Run Code Online (Sandbox Code Playgroud)
要更改 iOS 中 UI 元素的外观,请查看UIAppearance。这样您只需设置一次,它就会在您的应用程序中随处可见。
我建议在 AppDelegate 中设置它application:didFinishLaunchingWithOptions:。
尝试这个:
let backImg: UIImage = UIImage(named: "back")!
UIBarButtonItem.appearance().setBackButtonBackgroundImage(backImg, forState: .Normal, barMetrics: .Default)
Run Code Online (Sandbox Code Playgroud)