UIAlertView кнопка маркировки - PullRequest
2 голосов
/ 09 сентября 2010

Есть ли способ добавить метку к кнопке UIAlertView?Причина в том, что я добавляю несколько динамических кнопок в оповещение, которые иногда будут в оповещении, а иногда нет.Я решил, что лучшим способом было добавить тег.Есть ли лучший способ для этого?

Варианты, которые ВСЕГДА будут в оповещении: электронная почта, сохранение.И 2 опциональных варианта: Tweet This и Facebook.

Спасибо за любую помощь заранее!

Ответы [ 2 ]

2 голосов
/ 09 сентября 2010

Существует один метод buttonTitleAtIndex для UIAlertView. Используйте его, чтобы найти кнопку, которую нажал пользователь.

- (void)alertView:(UIAlertView *)alertView clickedButtonAtIndex:(NSInteger)buttonIndex
{
    NSString *buttonString = [alertView buttonTitleAtIndex:buttonIndex];
    if( [buttonString isEqualToString:@"Facebook"] ){
        // your code here
    } else if( [buttonString isEqualToString:@"twitter"] ){
        // your code here
    }
}
1 голос
/ 17 декабря 2014

Вы также можете использовать тег свойство:

UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"Info"
                                                message:@"Info text"
                                               delegate:self 
                                      cancelButtonTitle:@"Ok"
                                      otherButtonTitles:nil, nil];   
[alert setTag:0]; 

Тогда в делегате:

- (void)alertView:(UIAlertView *)alertView clickedButtonAtIndex:(NSInteger)buttonIndex {  
    switch (alertView.tag) {
      case 1: {
        ... 
        break;
      } 
      ...  
    default:
        break;
}
...