它工作得很好,直到最近的更新,我认为导航项应该与自动布局概念一起工作。我一直这样使用它:
let button = UIButton(frame: CGRect(origin: CGPoint.zero, size: CGSize(width: 30, height: 30)))
button.setImage(UIImage(named: "BackIcon"), for: UIControlState())
button.imageEdgeInsets = UIEdgeInsetsMake(0, -20, 0, 0)
button.addTarget((target != nil ? target! : self), action: backAction, for: .touchUpInside)
navigationItem.leftBarButtonItem = UIBarButtonItem(customView: button)
我应该做哪些更改才能使其平滑,因为目前它不会在每次点击时都被调用,通常需要在同一区域点击 2-3 次。
最佳答案
这对我在 iOS 11 上有效。看看它是否适合你。
let btnLeftMenu = UIButton.init(type: .system)
let image = UIImage(named: "Back");
btnLeftMenu.setImage(image, for: .normal)
btnLeftMenu.setTitle("BACK", for: .normal);
btnLeftMenu.imageEdgeInsets = UIEdgeInsetsMake(0, -30, 0, 0)
btnLeftMenu.titleEdgeInsets = UIEdgeInsetsMake(0, -30, 0, 0)
btnLeftMenu.sizeToFit()
btnLeftMenu.tintColor = UIColor.white
btnLeftMenu.titleLabel?.font = UIFont.init(name: "Avenir-Heavy", size: 16.0)
btnLeftMenu.addTarget(self, action: #selector (CustomMessageVC.backButtonAction(_:)), for: .touchUpInside)
let barButton = UIBarButtonItem(customView: btnLeftMenu)
self.navigationItem.leftBarButtonItem = barButton
[编辑]
可能图像的宽度和高度较小。您可以在 Xcode 调试中使用实时 Viewstack 检查后退按钮的宽度和高度。单击图像右侧第二个按钮可查看 ViewStack。如果宽度和高度是问题,则增加按钮的宽度和高度,图像居中,imageView 属性适合宽高比。那应该可以解决你的问题。快乐编码。
关于ios - ios 11 中导航栏中的后退按钮无法被点击,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46582295/