let btnName = UIButton()
btnName.setImage(UIImage(named: "backIcon"), for: .normal)
btnName.addTarget(self, action: #selector(AddContactViewController.backAction), for: .touchUpInside)
let leftBarButton = UIBarButtonItem()
leftBarButton.customView = btnName
self.navigationItem.leftBarButtonItem = leftBarButton
它工作正常,它可以完成预期的工作。但是,在导航项上它是不可见的。但是,当我点击它应该在的区域。它有效。
答案 0 :(得分:2)
实际上,您可能有两个导航栏,一个属于您当前的班级,另一个属于您之前的班级。因此,您可以尝试在上一课程中添加以下代码。
override func viewWillDisappear(_ animated: Bool) {
self.navigationController!.navigationBar.isHidden = true
}
我也面临同样的问题,它对我有用。可能它会帮助你。
答案 1 :(得分:0)
一切都很好,除了你忘了为你的按钮设置框架,这就是它没有被显示的原因。
let btnName = UIButton(frame: CGRect(x: 0, y: 0, width: 18, height: 17))
btnName.setImage(UIImage(named: "backIcon"), for: .normal)
btnName.addTarget(self, action: #selector(AddContactViewController.backAction), for: .touchUpInside)
let leftBarButton = UIBarButtonItem()
leftBarButton.customView = btnName
self.navigationItem.leftBarButtonItem = leftBarButton
答案 2 :(得分:0)
在设置图像,标题等之后,最好不要对某些帧值进行硬编码,最好调用sizeToFit()方法。我今天遇到了这个问题,其中自定义后退按钮在iOS11上显示OK,但不是在iOS9上可见。
RDataMining-Tweets-20160203.rds