Доступ к свойствам программно созданного UIButton из метода - PullRequest
0 голосов
/ 01 марта 2010

Я создал несколько элементов пользовательского интерфейса в методе viewDidLoad. Я хочу изменить цвет определенного UIButton из одного из моих методов. Как я могу это сделать? Я пробовал что-то похожее на: self.view.myUIButton.backgroundColor = myUIColor Это не работает. Чего мне не хватает?

1 Ответ

0 голосов
/ 01 марта 2010

Бесполезно, если вы установите кнопки в качестве свойств контроллера представления, он теряет ссылки на них в локальной области при завершении метода -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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...