如何从添加UIViewController的另一个控制器更改标签的文本值

时间:2018-07-09 04:58:13

标签: c# ios xamarin xamarin.ios

我们有一个viewController容器视图,其中嵌入了TabBarController。我们在viewController的顶部添加了带有欢迎文本的标签控件。现在,我们要根据TabBarController来动态地更改标签文本值。如何从xamarin ios本机应用程序中的另一个控制器更改/更新标签文本。

请指导。

1 个答案:

答案 0 :(得分:1)

UITabBarController有一个delegate。您想从父视图控制器将委托分配给self。当标签栏更改时,请更新标签。

class ViewController: UIViewController, UITabBarControllerDelegate {
    let mainTabBarController = UITabBarController()
    let label = UILabel()

    override func viewDidLoad() {
        super.viewDidLoad()

        // setup views

        mainTabBarController.delegate = self
    }

    func tabBarController(_ tabBarController: UITabBarController, didSelect viewController: UIViewController) {
        if viewController == <#someViewController#> {
            label.text = ""
        }
        // else ...
    }
}