如何创建取消按钮?

时间:2015-10-15 08:53:00

标签: ios swift segue swift2 uibarbuttonitem

我遇到麻烦让我的取消按钮工作。我已将此操作连接到我的取消按钮,我打算像这样解除视图控制器:

@IBAction func cancel(sender: UIBarButtonItem) {
     dismissViewControllerAnimated(true, completion: nil)
}

我想知道我错过了什么。 (这是表格视图的条形按钮项目。)

4 个答案:

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