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

时间:2010-02-28 21:19:18

标签: iphone uiview methods

我在viewDidLoad方法中创建了几个UI元素。我想从我的一个方法中改变特定UIButton的颜色。我怎样才能做到这一点?我尝试过类似的东西:self.view.myUIButton.backgroundColor = myUIColor这不起作用。我错过了什么?

1 个答案:

答案 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

访问特定按钮