2016-09-14 82 views
-1

我读了很多关于这个的帖子和视频,我读了一个函数调用“prepareforsegue”,但我不明白在哪里实现以及其他的东西我必须这样做吗?我有4个文本框,我想从其他控制器调用。非常感谢你的答案。 :)在swift中调用其他视图控制器的textfield

回答

0

您不能在prepareforsegue方法中设置值或访问文本框或任何其他插座。这是因为prepareforsegue方法被称为“之前”目的地控制器的插座被设置。因此,您需要在目标控制器中创建一个接收文本字段值的变量,然后在目标控制器的viewDidLoad中将其设置为文本字段。

在prepareforsegue方法:

override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) { 
    if let destinationViewController = segue.destinationViewController as? SecondViewController { 
     destinationViewController.valueForTextField = "Hi" 
    } 
} 

在目标控制器(它是在SecondViewController我的情况下):

@IBOutlet weak var textField: UITextField! 
var valueForTextField: String? 
override func viewDidLoad() { 
    super.viewDidLoad() 
    textField.text = valueForTextField 
} 
0

它有助于发布您的代码。

里面prepareForSegue,用抢握着你的文本框目的地的ViewController:

let vc = segue.destinationViewController

然后vc.textField1.text = "Your Text here" &重复您的其他文本字段。