如何在导航栏上添加取消?

时间:2016-09-14 10:48:11

标签: ios swift

我的目标是在导航栏上添加取消栏项目。场景是用户按下按钮然后它将模态地转换到另一个UIView控制器,并且将有一个取消按钮。取消按钮将使用回到第一个屏幕

实施例

enter image description here

我目前所做的是将导航栏拖到UIViewController上,但是当我尝试将条形项拖到导航栏上时,它无法正常工作。我现在想念的是什么?

3 个答案:

答案 0 :(得分:2)

以编程方式在导航栏中添加 UIBarButtonItem

let btnCancel = UIButton()
btnCancel.setImage(UIImage(named: "crossbuttonimagename"), forState: .Normal)
btnCancel.frame = CGRectMake(0, 0, 25, 25)
btnCancel.addTarget(self, action: Selector("youraction"), forControlEvents: .TouchUpInside)

//Set Left Bar Button item
let leftBarButton = UIBarButtonItem()
leftBarButton.customView = btnCancel
self.navigationItem.leftBarButtonItem = leftBarButton

答案 1 :(得分:1)

  1. 将第二视图控制器嵌入导航控制器。
  2. 以模态方式呈现此导航控制器。
  3. 拖动&将UIBarButton项目(X按钮)拖放到第二个视图控制器中的导航栏。
  4. 创建一个操作以返回到First View Controller。

    @IBAction func actionDismiss(sender: AnyObject) {
        self.dismissViewControllerAnimated(true, completion: nil)
    }
    
  5. 将此操作分配给取消按钮。

答案 2 :(得分:0)

  1. 选择导致有问题的视图控制器的segue
  2. 将其设置为PUSH segue
  3. 再次取消选择PUSH segue,现在接受SHOW segue
  4. 完成这些步骤后,您可以使用故事板添加右侧栏按钮项目。