Таргетинг UIButton по названию - PullRequest
0 голосов
/ 27 октября 2010

Я устанавливаю заголовок UIButton динамически, используя [btn setTitle:x forState:UIControlStateNormal].Можно ли сказать, например, изменить фоновое изображение этой кнопки, но ссылаться на нее по названию заголовка?

1 Ответ

4 голосов
/ 27 октября 2010

Использование таких заголовков кнопок - плохая идея. Если ваше приложение будет локализовано для другого языка, кнопка, скорее всего, получит другой заголовок, и ваш код сломается.

Однако у UIView есть нечто, называемое тегом. Тег - это просто целочисленное значение, которое вы можете присвоить представлению в целях идентификации. Если вы назначите своим кнопкам уникальные значения тегов, вы можете найти конкретную кнопку, попросив ее суперпредставление найти ее. Вы делаете это, отправляя сообщение viewWithTag: суперпредставлению кнопки:

NSInteger kTagForMyButton = 7;

UIButton *myButton = (UIButton *)[theSuperview viewWithTag:kTagForMyButton];

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

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