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

标签 ios swift navigationbar navigationitem

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

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

最佳答案

你可以全局改变它

UINavigationBar.appearance().backIndicatorImage = UIImage(named: "custom-back")
UINavigationBar.appearance().backIndicatorTransitionMaskImage = UIImage(named: "custom-back")

或每个导航 Controller 。

override func viewDidLoad() {
    super.viewDidLoad()

    navigationController?.navigationBar.backIndicatorImage = UIImage(named: "custom-back")
    navigationController?.navigationBar.backIndicatorTransitionMaskImage = UIImage(named: "custom-back")  
}

这里有完整的细节 https://sarunw.com/posts/how-to-change-back-button-image/

关于ios - 更改所有屏幕的 ViewController 后退按钮图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31759945/

相关文章:

ios - UICollectionViewCell 动态宽度和固定高度

swift - 处理保护 block 中的异常

html - 具有内联展开效果的导航下拉菜单

ios - 导航栏上按钮的大小 Xcode9.4

swift - swift 从另一个类访问navigationBarController

ios - 更改 ios 7 中 UIBarButtonItem 的背景颜色

ios - 通过cycript在越狱设备上模拟鼠标点击事件

ios - UITableView 需要看起来像 Contacts with edit in place fields

ios - 为什么无法处理 APNS 推送通知和本地通知?

ios - 检查数组的当前索引是什么对象