【问题标题】:LeftBarButtonItem position is not correctLeftBarButtonItem 位置不正确
【发布时间】:2017-05-03 21:05:41
【问题描述】:

我正在尝试添加这样的 leftbarbuttonitem:

使用此代码:

let button = UIButton.init(type: .custom)
        button.setImage(UIImage.init(named: "WhiteBackButton.png"), for: UIControlState.normal)
        button.addTarget(self, action:#selector(self.backButtonSelected), for: UIControlEvents.touchUpInside)
        button.frame = CGRect.init(x: 0, y: 0, width: 30, height: 30)
        let barButton = UIBarButtonItem.init(customView: button)
        self.navigationItem.leftBarButtonItem = barButton

我正在使用这张图片:

它看起来像这样被推倒:

如何阻止它向左推太远?

【问题讨论】:

  • 它是一个真正的“后退”按钮,就像你做 pushVC 一样,它想做 popVC,它有相同的颜色有标题(在你的屏幕截图和可能的其他导航按钮上不可见?) 还有什么?因为如果是这种情况,您可能只需将 previousvc.title 重命名为 " " 即可在推送该视图控制器之前完成此操作。
  • 确保您使用的图像没有空白
  • 我确实确保图像没有空白
  • 你的图片有太多的空白(嗯,真的,零阿尔法空间)。修剪它的所有侧面,或至少在左侧修剪。

标签: ios swift button uiimage uibarbuttonitem


【解决方案1】:
let negativeSpacer:UIBarButtonItem = UIBarButtonItem(barButtonSystemItem: UIBarButtonSystemItem.fixedSpace, target: nil, action: nil)
        negativeSpacer.width = -10
        self.navigationItem.leftBarButtonItems = [negativeSpacer, leftBarButton]

【讨论】:

    【解决方案2】:

    WhiteBackButton.png 图像很可能在箭头周围/前面有空白。

    我建议也使用:

    UIBarButtonItem(image:style:target:action:) 而不是 UIButton 它会简化你的代码...

    https://developer.apple.com/reference/uikit/uibarbuttonitem/1617163-init

    如果您对 barButtonItems 进行大量更改,可以使用以下功能扩展 ViewController 并将它们添加到 viewWillAppear:

    //should have a left and right of each:
    func addRightBarButtonWithImage(_ buttonImage: UIImage) {
        let rightButton: UIBarButtonItem = UIBarButtonItem(image: buttonImage, style: UIBarButtonItemStyle.plain, target: self, action: #selector(self.toggleRight))
        navigationItem.rightBarButtonItem = rightButton
    }
    
    
    func setNavigationBarItem() {
        self.addLeftBarButtonWithImage(UIImage(named: “icon.png”)!)
        self.addRightBarButtonWithImage(UIImage(named: “icon.png”)!)
    
    }
    

    希望这会有所帮助!干杯!

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-03-30
      • 2019-06-18
      • 2018-04-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多