Xcode - 设置标签文本返回(空)
Posted
技术标签:
【中文标题】Xcode - 设置标签文本返回(空)【英文标题】:Xcode - Setting Text of Label returns (null) 【发布时间】:2013-07-18 11:58:07 【问题描述】:我只想更改标签的文本。在那里,我有一个指向 Xib 接口的 ViewController,在该接口中创建标签并链接到 ViewController。我只是创建了这个视图控制器的一个实例,想要更改标签的文本:
NewFormScoreViewController * newPoints=[[NewFormScoreViewController alloc] init];
[newPoints.TheNewScoreLabel setText:[NSString stringWithFormat:@"%i",newScore]];
[newPoints.view setFrame:CGRectMake(500, 500, newPoints.view.frame.size.width, newPoints.view.frame.size.height)];
[self.view addSubview:newPoints.view];
视图可见,但只显示占位符,而不是新字符串。 [NSString stringWithFormat:@"%i",newScore] 返回了需要的String,但是好像传输不起作用。但为什么?怎么了?
【问题讨论】:
您想从 First View Controller 更改 yourLabel 的值(位于 Second View Controller 中)吗? 我想从视图中更改标签,其中 viewcontrollersview 作为子视图加载,我还尝试在 NewFormScoreViewController 中添加一个更改标签的方法,数据传输正确,但如果我使用 [label setText:STRING] 并且在有一个返回标签文本的 NSLog 之后它也是(null) 【参考方案1】:在stringWithFormat:
方法中,如果您的变量是int
,则使用%d
,如果是浮点数,则使用%f
,%@
用于NSString
或其他类型。
【讨论】:
顺便说一句:你的类NewFormScoreViewController
的 init 方法是否设置了宽度和高度?如果没有,当你在第三行设置一个新的frame时,你会得到一个frame (500 500 , 0 x 0)
视图控制器链接到带有标签和背景图像的 xib,添加的子视图显示 bahckground 图像和带有占位符文本的标签【参考方案2】:
你可以使用
[newPoints.TheNewScoreLabel setText:newScore];
或
[newPoints.TheNewScoreLabel setText:[NSString stringWithFormat:@"%d",newScore]];
而不是
[newPoints.TheNewScoreLabel setText:[NSString stringWithFormat:@"%i",newScore]];
因为
%d 将整数扫描为带符号的十进制数,但 %i 允许默认为十进制,但也允许十六进制(如果前面有“0x”)和八进制如果前面有“0”。
【讨论】:
但字符串 [NSString stringWithFormat:@"%i",newScore] 或其他任何工作正常 @BJS 你得到你需要的“newScore”值了吗?如果是,则仅尝试 [self.view addSubview:newPoints] ..告诉我是否有效。【参考方案3】:使用这个...
[newPoints.TheNewScoreLabel setText:newScore];
【讨论】:
【参考方案4】:你的代码没问题。
但是类是一个黑盒子。 这是故事板、nib 文件还是手动实现?
标签对象的指针是否实际存储在 ivar 中?
【讨论】:
【参考方案5】:您没有提及任何关于“从哪里”您想更改UILabel
的值。如果您只是想从同一个 View Controller 更改 UILabel
的值,那么您可以这样做:
yourLabel.text = [NSString stringWithFormat:@"%d",newScore];
但是如果你想改变其他UIViewController
的值,那么有两种可能性。您可以向前和向后传递数据。
在这种情况下,您应该参考:Passing Data between View Controllers。
【讨论】:
以上是关于Xcode - 设置标签文本返回(空)的主要内容,如果未能解决你的问题,请参考以下文章