是否可以更改当前未在基于页面的视图中显示的另一个WKInterfaceController上的文本?

时间:2015-02-17 20:34:44

标签: swift watchkit apple-watch

我无法弄清楚当前在基于页面的视图中显示的interfaceController如何更改当前未显示的另一个interfaceController页面上的文本。

似乎您只能更改当前显示的interfaceController的标签。

任何人都知道如何修改另一个控制器标签?

var timerControllers = Array<TimerDetailController>()

class TimerDetailController: WKInterfaceController {

    override func awakeWithContext(context: AnyObject?) {
        super.awakeWithContext(context)

        timerControllers.append(self)
    }


    func setLabel(){
       timerControllers[0].clientName.setText("my new label")
    }
}

我希望能够从任何计时器页面调用setLabel()。但是这只有在显示的控制器与timerControllers [0]相同时才有效。

1 个答案:

答案 0 :(得分:0)

您无需更改当前不存在的标签,而是需要更改每次创建视图时用于设置标签值的数据源的值。