1

我是 Objective-c 和 iPhone 的新手,但过去做过很多 Java 编码。关于我通常最终能够找到答案的基本事情,但不是这个!

我想要更改标签的背景颜色,代码如下。无论我做什么,当我在 iPhone 模拟器上运行它时它都不会改变。那里有一些设置,我觉得我在问一个非常愚蠢的问题,但真的找不到答案。这是开发环境设置的问题吗?

- (void)viewDidLoad
{
    [super viewDidLoad];
    // Do any additional setup after loading the view from its nib.
    NSLog(@"setting label to black color");
    self.colourLabel.backgroundColor = [UIColor blackColor];
}
4

3 回答 3

0

请记住,在 Objective-C 中向nil对象发送消息是可以的,所以问题可能self.coulourLabel还在nil那个时候。

你如何以及在哪里实例化它?你设置了IBOutlet吗?

于 2012-07-06T14:28:28.510 回答
0

为什么不制作一个 UILabel 类型的 IBOutlet,将其连接到界面构建器中的标签并执行以下操作:

yourLabel.backgroundColor = [UIColor 不管颜色];

你设置colorLabel为属性了吗?因为您不需要...除非您有两个要相互通信的单独类。

于 2012-07-06T14:36:14.287 回答
0

只是想我会在问题的评论中留下一个强调@Dima 建议的答案 - 即,项目 > 清洁,然后是 iOS 模拟器 > 重置内容和设置。

我刚刚解决了在代码中创建的 UIButton 发生的类似问题,因此不可能是 IBOutlet 问题。当我在模拟器中运行时,我对代码所做的更改(甚至完全删除了属性)没有显示出来,即使在我的设备上它运行良好。我原以为清洁就足够了,但直到我做了重置内容和设置,它才开始像我预期的那样运行。

希望有人觉得这很有用...

于 2012-09-04T10:24:23.657 回答