从方法中访问以编程方式创建的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
RE访问特定按钮:标签,你可以用viewWithTag:不是的作用中子视图 – jamesmoschou 2010-03-01 03:46:33