在swift中调用其他视图控制器的textfield
问题描述:
我读了很多关于这个的帖子和视频,我读了一个函数调用“prepareforsegue”,但我不明白在哪里实现以及其他的东西我必须这样做吗?我有4个文本框,我想从其他控制器调用。非常感谢你的答案。 :)在swift中调用其他视图控制器的textfield
答
您不能在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
}
答
它有助于发布您的代码。
里面prepareForSegue
,用抢握着你的文本框目的地的ViewController:
let vc = segue.destinationViewController
然后vc.textField1.text = "Your Text here"
&重复您的其他文本字段。