2012-03-28 116 views
-2

如何更改标签的文本?这是我尝试过的。更改标签文本

labelCheckBox.text = @"This is the new label"; 

我在InterfaceCheckBox的Interface Builder中连接了标签,并为它创建了一个插座。在Didload中,标签的文本发生了变化,但是在该类中的另一种方法中,它没有新的值。

-(void)settext:(NSString*)newLabelText{ 

labelCheckBox.text = newLabelText; 
// labelCheckBox = [[UILabel alloc] init]; 
// labelCheckBox.text = @"This is the new label"; 

} 

我打电话另一个类的方法,如下所示:

[New settext:@"All Transaction"]; 

的 'NewLabelText' 的值的NSLog打印出来后是: “All Transaction”。但是,当我分配'LabelCheckBox.Text = NewLabelText'时,我打印'LabelCheckBox.Text', 的值,并给出空白。

+1

该代码是正确的,所以如果你不提供更多的信息,没有人能够帮助你! – Zalykr 2012-03-28 16:10:05

+0

您是以编程方式还是从Interface Builder创建此'UILabel'? – 2012-03-28 16:10:06

+0

您是否在LabelCheckBox的“接口”构建器中连接了您的标签并为其创建了一个插座? – 2012-03-28 16:11:46

回答

3

首先,如果您使用IB,您需要为您的UILabel创建插座和连接。从你的标签(控制+拖动)拖到控制器类的.h文件的最简单的方法。然后在.m文件中进行综合,现在您可以根据需要更改标签文本。

+1

合成由Xcode自动添加。 – dasdom 2012-03-29 10:45:37

1

'视图'应该在设置标签文本之前加载。

0

iOS开发有时会给你像JavaScript一样的沉默处理,以帮助防止你的应用程序崩溃。这就是说,如果您在Interface Builder中创建了UILabel并为其设置了IBOutlet,请确保在创建UILabel之后才更改文本。 (即在-viewDidLoad之后)。您可以设置一个断点,设置文本更改的位置以及包含UILabel-viewDidLoad中的断点以确认正在发生的调用顺序。

0

下面的代码将更改标签文本与标记值

scrollview使用这种类型更改标签

for(UIView *views in ScrollViewMain.subviews) 
{ 
    UILabel *label = [views viewWithTag:[sender tag]+1000]; 
    label.text=str1; 
} 

它真正的工作文字。 谢谢