我只是想将UINavigationBar
中的后退按钮图标更改为自定义图像,以便与所有其他图标匹配,但我已经采用了这两种不同的方式。
将故事板检查器内的UINavigationController
中的遮罩图像设置为背面图像,导致图像与标题或rightBarItem
不一致。
我尝试的另一种方法是setBackButtonBackgroundImage
文件中的ViewController
或appDelegate
。但是下面的代码;
let backImg: UIImage = UIImage(named: "Back")!
UIBarButtonItem.appearance().setBackButtonBackgroundImage(backImg, forState: .Normal, barMetrics: .Default)
但结果却更加奇怪,图像变得紧张。
任何人都可以帮助我解决这种情况发生的原因,或者提供一种替代方法来更改UINavigationBar
中的后退图标吗?
答案 0 :(得分:1)
let backImage = UIImage(named: "back_button_name")
UIBarButtonItem.appearance().setBackButtonBackgroundImage(backImage?.resizableImageWithCapInsets(UIEdgeInsetsMake(0, (backImage?.size.width)!-1, 0, 0)), forState: .Normal, barMetrics: .Default)
答案 1 :(得分:0)
Swift 3.0
let backImage = UIImage(named: "arrow_left")
UINavigationBar.appearance().backIndicatorImage = backImage
UINavigationBar.appearance().backIndicatorTransitionMaskImage = backImage