更改所有屏幕的 ViewController 的后退按钮图像

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)

pal*_*lme 1

要更改 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)