Tom*_*adi 21 xcode containers properties uicontainerview swift
我想要实现的目标:
用户按下ViewController中的按钮,然后放置在容器视图中的按钮颜色应该将其颜色更改为红色.
如何从ViewController访问放置在容器视图中的按钮?
sun*_*ejr 45
一步步:
prepareForSegue(_:sender:).segue.identifier等于您在步骤1中指定的标识符.segue.destinationViewController则从步骤2中保存到您的属性.viewDidLoad()方法中.例:
var containerViewController: YourContainerViewControllerClass?
let containerSegueName = "testSegue"
override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {
if segue.identifier == containerSegueName {
containerViewController = segue.destinationViewController as? YourContainerViewControllerClass
}
}
Run Code Online (Sandbox Code Playgroud)
And*_*eev 20
我建议不要依赖segue.identifier,而是destination直接测试类型:
override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
super.prepare(for: segue, sender: sender)
if let vc = segue.destination as? YourViewController {
vc.someVariable = true
}
}
Run Code Online (Sandbox Code Playgroud)
这样就可以避免错误拼写的segue名称.
| 归档时间: |
|
| 查看次数: |
13910 次 |
| 最近记录: |