在我的 swift iOS 8 项目中,我将后退按钮图像更改为后退箭头,并使用 AppDelegate 中的以下代码删除了后退项目文本,但仍然得到了重叠的项目。
UINavigationBar.appearance().backIndicatorImage = UIImage(named: "GoBack")!
let backImg: UIImage = UIImage(named: "GoBack")!
UIBarButtonItem.appearance().setBackButtonBackgroundImage(backImg, forState: .Normal, barMetrics: .Default)
最佳答案
只需再添加一行:
UIBarButtonItem.appearance().setBackButtonTitlePositionAdjustment(UIOffsetMake(0, -60), forBarMetrics: .Default)
另一种使用自定义按钮为栏按钮设置图像的方法:
let button: UIButton = UIButton.buttonWithType(UIButtonType.Custom) as! UIButton
button.setImage(UIImage(named: "GoBack"), forState: UIControlState.Normal)
button.addTarget(self, action: "backButtonPressed:", forControlEvents: UIControlEvents.TouchUpInside)
button.frame = CGRectMake(0, 0, 53, 31) // set this as per your need.
let barButton = UIBarButtonItem(customView: button)
self.navigationItem.leftBarButtonItem = barButton
它的辅助方法:
func backButtonPressed(sender:UIButton) {
navigationController?.popViewControllerAnimated(true)
}
关于swift - 重叠 UINavbar 左侧项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32646147/