我遇到麻烦让我的取消按钮工作。我已将此操作连接到我的取消按钮,我打算像这样解除视图控制器:
@IBAction func cancel(sender: UIBarButtonItem) {
dismissViewControllerAnimated(true, completion: nil)
}
我想知道我错过了什么。 (这是表格视图的条形按钮项目。)
答案 0 :(得分:2)
var b = UIBarButtonItem(title: "Cancel", style: .Plain, target: self, action: "Cancel clicked")
如果您希望该方法将发送者作为参数,您可以在末尾添加冒号:
var b = UIBarButtonItem(title: "Cancel", style: .Plain, target: self, action: "CancelClicked:")
func CancelClicked(sender: UIBarButtonItem) {
}
答案 1 :(得分:0)
试试这个:
@IBAction func close(sender: AnyObject) {
self.dismissViewControllerAnimated(true, completion: nil)
}
答案 2 :(得分:0)
您的代码可以通过一个小修复工作正常。在呈现控制器上调用解除。 self.dismissViewController将关闭当前vc提供的子视图控制器。但是如果你想解雇现有的vc,你应该打电话给父母解雇
@IBAction func cancel(sender: UIBarButtonItem) {
presentingViewController.dismissViewControllerAnimated(true, completion: nil)
}
答案 3 :(得分:0)
使用IB将NavigationBar(和导航项)添加到Storyboard后,对navigationItem var的引用将自动映射到ViewController文件。添加以下代码以将取消按钮附加到navigationItem以关闭模式View Controller:
@IBOutlet weak var navigationBar:UINavigationBar!
override func viewDidLoad() {
super.viewDidLoad()
navigationItem.leftBarButtonItem = UIBarButtonItem(title: "Cancel", style: .plain, target: self, action: #selector(CancelClicked(sender:)))
}
func CancelClicked(sender: UIBarButtonItem) {
print("Cancel clicked!")
self.dismiss(animated: true, completion: nil)
}