从方法中访问以编程方式创建的UIButton的属性

问题描述:

我在viewDidLoad方法中创建了多个UI元素。我想从我的一个方法中改变特定UIButton的颜色。我怎样才能做到这一点?我试过类似的东西:self.view.myUIButton.backgroundColor = myUIColor这是行不通的。我错过了什么?从方法中访问以编程方式创建的UIButton的属性

无用的,您将按钮设置为视图控制器的属性,当-viewDidLoad方法完成时,它将丢失对它们的本地范围引用。

您可以设置按钮的标签属性,然后将标签保存在属性中。然后,您可以走viewController.view.subviews以找到具有正确标记的子视图。

后者非常麻烦,只有当您的界面元素高度可变时才使用。

在大多数情况下,你想要的东西,如:

UIButton *button1; 
UIButton *button2; 
@property(nonatomic, retain) UIButton *button1; 
@property(nonatomic, retain) UIButton *button2; 

然后在viewDidLoad中你可以使用:

self.button1 = [[UIButton的页头] initWithFrame:方法aRect]。

然后在任何其他方法,你可以用self.button1.someAttribute

+0

RE访问特定按钮:标签,你可以用viewWithTag:不是的作用中子视图 – jamesmoschou 2010-03-01 03:46:33