我在viewDidLoad方法中创建了几个UI元素。我想从我的一个方法中改变特定UIButton的颜色。我怎样才能做到这一点?我尝试过类似的东西:self.view.myUIButton.backgroundColor = myUIColor
这不起作用。我错过了什么?
答案 0 :(得分:0)
无法将按钮设置为视图控制器的属性,当-viewDidLoad
方法完成时,它会丢失对它们的本地作用域引用。
您可以为按钮设置标记属性,然后将标记保存在属性中。然后,您可以遍历viewController.view.subviews以查找具有正确标记的子视图。
后者非常麻烦,只有当您的界面元素变化很大时才能使用。
在大多数情况下,您需要以下内容:
UIButton *button1;
UIButton *button2;
@property(nonatomic, retain) UIButton *button1;
@property(nonatomic, retain) UIButton *button2;
然后在viewDidLoad中你会使用:
self.button1 = [[UIButton alloc] initWithFrame:aRect];
然后在任何其他方法中,您可以使用self.button1.someAttribute