Отображение представления предупреждений при нажатии строки таблицы - PullRequest
1 голос
/ 12 июля 2011

У меня есть табличное представление со списком строк следующим образом:

String1
String2
String3
String4

Я хочу сделать один из них значением по умолчанию, т. Е. Когда пользователь нажимает «String3», должно появиться предупреждениеспросить, хотят ли они сделать этот элемент по умолчанию.

Как мне реализовать это представление предупреждений в моем контроллере табличного представления?

Ответы [ 2 ]

2 голосов
/ 12 июля 2011

Сначала вы захотите определить переменную экземпляра для отслеживания выбранной строки. Нечто подобное в вашем заголовочном файле будет хорошо.

NSString *selectedString;

Далее в вашем tableView: didSelectRowAtIndexPath: метод делегата создайте представление оповещения.

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath 
{
    selectedString = [stringArray objectAtIndex:indexPath.row];

    NSString *title = [NSString stringWithFormat:@"Make %@ default?", selectedString];

    UIAlertView *alert = [[UIAlertView alloc] initWithTitle:title message:@"" delegate:self cancelButtonTitle:@"No" otherButtonTitles:@"Yes", nil];
    [alert show];
    [alert release];
}

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

- (void)alertView:(UIAlertView *)alertView clickedButtonAtIndex:(NSInteger)buttonIndex
{
   if (buttonIndex == 2)
   {
     //Do something with selectedString here
   }
}
0 голосов
/ 17 августа 2015

У меня недостаточно репутации, чтобы комментировать здесь. Но ваше заявление if должно быть:

   if (buttonIndex == 1)
   {
     //Do something with selectedString here
   }

То есть, если вы хотите что-то сделать, когда нажата кнопка «да». В любом случае, спасибо за быстрый урок, и кроме этой небольшой опечатки он работал отлично.

...