我是Objective-c和iPhone的新手,但过去做过很多java编码。 撕掉关于v。基本的东西,我通常最终能找到答案,但不是这个!
我想要制作标签的背景颜色,代码如下。无论我做什么,当我在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];
}
答案 0 :(得分:0)
请记住,在Objective-C中向nil
个对象发送消息是正常的,因此问题可能是self.coulourLabel
当时仍然是nil
。
您如何以及在何处实例化它?您是否设置了IBOutlet
?
答案 1 :(得分:0)
为什么不制作UILabel类型的IBOutlet,将其连接到界面构建器中的标签并执行:
yourLabel.backgroundColor = [UIColor whateverColor];
您是否将colorLabel
设为属性?因为你不需要...除非你有两个你想要彼此沟通的单独的类。
答案 2 :(得分:0)
我以为我会留下一个答案,强调@Dima在这个问题的评论中提出的建议 - 即Project>清洁然后iOS模拟器>重置内容和设置。
我刚刚解决了在代码中创建的UIButton发生的类似问题,因此不可能是IBOutlet问题。当我在模拟器中运行时,我对代码所做的更改(甚至完全删除了属性)没有出现,即使在我的设备上它工作正常。我曾经认为干净就足够了,但直到我完成了重置内容和设置,才开始按照我的预期行事。
希望有人觉得这很有用......