容器视图及其一些问题

时间:2018-08-27 09:36:46

标签: ios swift xcode uilabel uicontainerview

我只是从Swift开始,我可以解决这个问题,我不知道如何从ViewController的ViewController2内部运行该函数。

VPNConfiguration,VPNTunnel/NetworkExtension

1 个答案:

答案 0 :(得分:1)

获取对嵌入在容器视图中的视图控制器的引用的最简单方法是在(prepare(for segue:sender:)中进行。

在情节提要中设置容器视图时,将看到将包含的视图控制器链接到包含的视图控制器的序列。这是一个 embedded segue,将在加载包含视图控制器之后(但在viewDidLoad完成之后)触发。您可以使用此segue获得对目标的引用(将是ViewController2的实例)并将其存储在属性中。您无需对ViewController2类进行任何更改。

class ViewController: UIViewController {

    var secondViewController: ViewController2?

    override func viewDidLoad() {
        super.viewDidLoad()
    // Do any additional setup after loading the view, typically from a nib.
    }

    override func viewWillAppear(_ animated: Bool) {
        super.viewWillAppear(animated)
        self.secondViewController?.changeText()
    }

    override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
        if let destVC = segue.destination as? ViewController2 {
            self.secondViewController = destVC
        }
    }
}