自定义导航栏按钮和动作打开新 viewController
Custom navigation bar button and action to open a new viewController
我正在尝试用我自己的图片制作一个新的自定义导航栏按钮。这工作正常,但我试图在按下该按钮时打开一个新的视图控制器。不幸的是,这不起作用,我不知道该怎么做。
let testUIBarButtonItem = UIBarButtonItem(image: UIImage(named: "Image.png"), style: .plain, target: self, action: nil)
self.navigationItem.rightBarButtonItem = testUIBarButtonItem
func clickButton(sender: UIBarButtonItem){}
这就是我现在的代码,它在我的 viewDidLoad 中。我的目的是执行显示细节 Segue 评论。
有人可以帮助我吗?
如果您使用的是 Storyboard
,请将手册 segue
添加到您的 ViewController
并为其指定一个标识符。然后你必须在自定义导航栏按钮的 IBAction
.
中调用 performSegue
func clickButton(sender: UIBarButtonItem){
self.performSegue(withIdentifier: "yourSegueIdentifier", sender: nil)
}
您为什么不使用 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
我正在尝试用我自己的图片制作一个新的自定义导航栏按钮。这工作正常,但我试图在按下该按钮时打开一个新的视图控制器。不幸的是,这不起作用,我不知道该怎么做。
let testUIBarButtonItem = UIBarButtonItem(image: UIImage(named: "Image.png"), style: .plain, target: self, action: nil)
self.navigationItem.rightBarButtonItem = testUIBarButtonItem
func clickButton(sender: UIBarButtonItem){}
这就是我现在的代码,它在我的 viewDidLoad 中。我的目的是执行显示细节 Segue 评论。 有人可以帮助我吗?
如果您使用的是 Storyboard
,请将手册 segue
添加到您的 ViewController
并为其指定一个标识符。然后你必须在自定义导航栏按钮的 IBAction
.
performSegue
func clickButton(sender: UIBarButtonItem){
self.performSegue(withIdentifier: "yourSegueIdentifier", sender: nil)
}
您为什么不使用 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