我正在尝试使用自己的图片制作新的自定义导航栏按钮。这很好,但是当我按下那个按钮时,我正试图打开一个新的视图控制器。不幸的是,这不起作用,我不知道我应该怎么做。
let testUIBarButtonItem = UIBarButtonItem(image: UIImage(named: "Image.png"), style: .plain, target: self, action: nil)
self.navigationItem.rightBarButtonItem = testUIBarButtonItem
func clickButton(sender: UIBarButtonItem){}
这是我现在的代码,它在我的viewDidLoad中。我的目的是执行一个节目细节Segue评论。 有人能帮助我吗?
答案 0 :(得分:1)
为什么不使用UIButton并将其指定为此按钮中建议的条形按钮项目:
UIBarButtonItem: target-action not working?
let button = UIButton(type: .Custom)
if let image = UIImage(named:"icon-menu.png") {
button.setImage(image, forState: .Normal)
}
button.frame = CGRectMake(0.0, 0.0, 30.0, 30.0)
button.addTarget(self, action: #selector(MyClass.myMethod), forControlEvents: .TouchUpInside)
let barButton = UIBarButtonItem(customView: button)
navigationItem.leftBarButtonItem = barButton
答案 1 :(得分:0)
如果您使用Storyboard
,请在segue
添加手册ViewController
并为其指定标识符。然后,您必须在自定义导航栏按钮performSegue
中拨打IBAction
。
func clickButton(sender: UIBarButtonItem){
self.performSegue(withIdentifier: "yourSegueIdentifier", sender: nil)
}