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 - 设置标签文本返回(空)的主要内容,如果未能解决你的问题,请参考以下文章

不需要xcode故事板中的大写标签

带有属性文本字体的 ios 标签无法正确显示

在标签中滑动文本

如何在 XCode 中将标签的文本居中

在vue中后台返回的文本包含标签如何解析为html

xcode swift不会更改标签文本