当 UITextfield 上发生内部修饰事件时导航到另一个视图



我已经将segue的标识符从ViewcontrollerA设置为ViewcontrollerB。但是以下代码不起作用:

 class ViewcontrollerA: UIViewController {

 @IBOutlet weak var Tasks: UITextField!
 override func viewDidLoad() {
 super.viewDidLoad()
 // Do any additional setup after loading the view.
 }

 @IBAction func move(sender: AnyObject) {
 self.performSegueWithIdentifier("move", sender: sender)
 }
}

有没有办法导航到第二个ViewController,当UITextfield被"点击"时?

任何帮助将不胜感激!

假设您已经给出了 segue 标识符segue 种类

替换函数移动:

 @IBAction func move(sender: AnyObject) {
 self.performSegueWithIdentifier("move", sender: self)
 }

添加以下代码:

  override func shouldPerformSegueWithIdentifier(identifier: String, sender: AnyObject?) -> Bool {
        if identifier == "move" {
            return true
        }
        return false
    }
    override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {
        if segue.identifier == "move" {
            let vc = segue.destinationViewController as! ViewcontrollerB
            // you can additional work here with navigating VC Object
        }
    }

如果你想继续前进SecondViewController点击UITextField那么你可以使用委托方法textFieldDidBeginEditing像这样UITextField

func textFieldDidBeginEditing(textField: UITextField) {
    self.performSegueWithIdentifier("SegueIdentifier", sender: self)
}

最新更新