Отображение содержимого при нажатии кнопки - проблема с логикой - PullRequest
0 голосов
/ 18 февраля 2012

Я должен установить изображение на barButton, и оно работает правильно.

Если возраст persons больше 20, мне нужно добавить изображение A.png к кнопке иесли возраст людей меньше 20, я добавлю B.png.Это простой оператор if-else

if (person >20)
// barbutton with A.png
else
// barButton with B.png

Действие или когда пользователь нажимает на эту кнопку, вызывается метод buttonPressed.Теперь в этом методе нажатия кнопки мне нужно знать, какая кнопка была нажата.Это была кнопка с A.png до B.png.

Как я могу это сделать?

- (void)buttonPressed : (id)sender {
}

Ответы [ 3 ]

0 голосов
/ 19 февраля 2012

Вы можете использовать теги на одну кнопку. вот так:

if (person> 20) {
button.tag = 1;
button.image = imageA; }

еще {
button.tag = 2;
button.image = imageB; } * +1010 *

и вы можете знать, какая кнопка нажата, основываясь на установленном вами теге.

- (void) buttonPressed: (id) отправитель {

int tag = ((UIBarButton *) отправитель) .tag;
if (tag == 1)
// кнопка с изображением A.
еще
// кнопка с изображением B.
}

0 голосов
/ 19 февраля 2012

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

// В заголовке

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

// В реализации

         @synthesize button1;
         @synthesize button2;

         -(void)buttonPressed:(id)sender{
               if(sender==button1){
                   execute code for button1;
                }
               else 
                   execute code for button2;
         }
0 голосов
/ 18 февраля 2012

Добавить button.tag = someInteger;.

- (void)buttonPressed : (id)sender 
{
UIBarButton *button = (UIBarButton *) sender;
if(button.tag == someInteger)
{
//YOUR CODE
}
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...