Как отличить динамически генерируемую кнопку при выделении с помощью iPhone SDK? - PullRequest
0 голосов
/ 03 января 2011

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

Как отличить выбранную кнопку от других?

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

Ответы [ 4 ]

3 голосов
/ 03 января 2011

Используйте тег для идентификации кнопки.Во время создания кнопок вы можете присвоить кнопке тег как номер и использовать его для идентификации.

yourButton.tag = intNumber;

1 голос
/ 03 января 2011

У вас есть массив кнопок. Вы можете перебрать свой массив и проверить, был ли он нажат.

- (IBAction) buttonClicked:(id)sender {
  for(int i; i < [array count]; i++){
     if((UIButton *)sender == (UIButton *)[array objectAtIndex:i])
        //do something
     else
        //do something else
}

Нечто подобное.

1 голос
/ 03 января 2011

Попробуйте установить тег для каждой кнопки, используя

yourButton.tag=intValue; //intValue>0

Ваше действие кнопки должно быть следующим,

-(IBAction)buttonAction:(id)sender

Сохранить ранее выбранный тег и изменитьзначение соответственно.

0 голосов
/ 03 января 2011

вы можете перебрать свои подпредставления и установить для всех старый стиль:

- (void)highlightImgWithID:(int)packID {
    [self.view.subviews enumerateObjectsUsingBlock:^(id obj, NSUInteger idx, BOOL *stop) {
        if ([obj isKindOfClass:[UIImageView class]]) {
            [(UIImageView*)obj setHighlighted:([obj tag] == IDtoSelectNext)];
        }
    }];
}

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

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