swift - 重叠 UINavbar 左侧项目

标签 swift uinavigationbar

在我的 swift iOS 8 项目中,我将后退按钮图像更改为后退箭头,并使用 AppDelegate 中的以下代码删除了后退项目文本,但仍然得到了重叠的项目。

 UINavigationBar.appearance().backIndicatorImage = UIImage(named: "GoBack")!
 let backImg: UIImage = UIImage(named: "GoBack")!
 UIBarButtonItem.appearance().setBackButtonBackgroundImage(backImg, forState: .Normal, barMetrics: .Default)

如何删除文字? enter image description here

最佳答案

只需再添加一行:

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/

相关文章:

ios - iOS 13 中 UISplitViewController 的详细信息 Pane 中出现了新的 UINavigationBar

ios - 自定义后退按钮出现在 UIImagePickerController 上

ios - 无法获取 navigationItem.rightBarButtonItem 的 UIView/Frame - iOS

swift - 这是使用初始化的正确方法吗?

ios - 如何在基于 Swift 的项目中使用基于 Objective-C 的框架?

iOS 导航栏 : change left bar button from menu to back

ios - SwiftUI导航栏标题和项目在向​​后滑动失败时不会消失

ios - 如何实现双击以获取更多信息等进一步操作?

ios - Swift 如何创建像 UIViewController 这样的通用 MVP

ios - 堆栈 View ScaleAspectFit 蒙版在 Swift 中调整大小