如何使2 UILabels的文本匹配?

时间:2011-10-23 15:01:42

标签: iphone objective-c ios

我正在开发一个Xcode项目,我想知道即使1个标签发生变化,如何使2个标签具有完全相同的文本。

实施例。 @“你的反应时间是421毫秒。” 防爆。 @“你的反应时间是131毫秒。”

所以他们完全匹配。我在想像

text.label = text.label2但我觉得我错过了什么。

标签位于不同的视图中。

2 个答案:

答案 0 :(得分:1)

如果您希望第二个标签始终更改以反映第一个标签的更改,则必须使用观察者。例如:

  1. 添加第二个视图控制器作为第一个标签的观察者:

    [label1 addObserver: secondViewController forKeyPath: @"text" options: NSKeyValueObservingOptionNew context: nil];
    
  2. 第二个视图控制器应该有这样的方法,它将设置第二个标签的文本:

    - (void)observeValueForKeyPath:(NSString *)keyPath 
                  ofObject:(id)object 
                    change:(NSDictionary *)change 
                   context:(void *)context
    {
        label2.text = [change valueForKey: NSKeyValueChangeNewKey];
    }
    

答案 1 :(得分:0)

我想你想要

[label setText:label2.text];

更有可能。