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

我在下面的代码中更改了下一个屏幕上的后退按钮图像.

我的应用程序中有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)
}

最佳答案 要在iOS中一般更改UI-Elements的外观,请查看
UIAppearance.这样您就可以设置一次,它将在您的应用程序的任何位置.

我建议在AppDelegate应用程序中设置它:didFinishLaunchingWithOptions:.

试试这个:

let backImg: UIImage = UIImage(named: "back")!
UIBarButtonItem.appearance().setBackButtonBackgroundImage(backImg, forState: .Normal, barMetrics: .Default)
点赞