我已经以编程方式创建了一个leftbarbuttonItem,因为我需要该按钮比标准barButtonItem更大。我希望该按钮执行一个segue,将我们的视图推送到下一个ViewController。
以下是我在第一个ViewController中添加到ViewDidLoad函数的内容:
let button: UIButton = UIButton(type: .Custom) as UIButton
button.setImage(UIImage(named: "Moroz.png"), forState: UIControlState.Normal)
button.frame = CGRectMake(0, 0, 200, 40)
button.addTarget(self, action: "open", forControlEvents: .AllEvents)
let barButton = UIBarButtonItem(customView: button)
self.navigationItem.leftBarButtonItem = barButton
这是功能" open" (我已经在viewDidLoad结束后把它放好了,虽然我之前试过放置它但结果仍然相同):
func open(sender: AnyObject) {
self.performSegueWithIdentifier("toexpress", sender: sender)
}
我创造了一个赛车" toexpress"通过ctrl从第一个ViewController拖动到第二个。我给它的标识符显然是"表达"。
以下是截图:
但是每次我运行我的应用程序并点击我的按钮我都会
libc++abi.dylib: terminating with uncaught exception of type NSException(lldb)
如果我使用标准barButtonItem一切正常,但这不是一个选项,因为我需要它更大。
有谁可以指出我犯了哪些错误?谢谢!