自定义导航栏按钮和操作以打开新的viewController

时间:2017-07-23 15:47:50

标签: ios swift uibarbuttonitem

我正在尝试使用自己的图片制作新的自定义导航栏按钮。这很好,但是当我按下那个按钮时,我正试图打开一个新的视图控制器。不幸的是,这不起作用,我不知道我应该怎么做。

let testUIBarButtonItem = UIBarButtonItem(image: UIImage(named: "Image.png"), style: .plain, target: self, action: nil)
self.navigationItem.rightBarButtonItem  = testUIBarButtonItem
func clickButton(sender: UIBarButtonItem){}

这是我现在的代码,它在我的viewDidLoad中。我的目的是执行一个节目细节Segue评论。 有人能帮助我吗?

2 个答案:

答案 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)
}