среда, 8 января 2014 г.

IOS AlertView – реализация окна диалога

Рассмотрим пример реализации стандартного окна диалога AlertView. Очень часто в приложениях необходимо участие пользователей, что бы подтвердить или уведомить его о каких либо действиях. Рассмотрим на конкретном примере вывод диалогового окна и обработку событий  в зависимости от того что выбрал пользователя. Представим ситуацию в которой вам нужно предоставить пользователю возможность оценить ваше приложение, но не реализуя для этого какой нибудь viewcontroller. Как раз в этом нам поможет UIAlertView.


Посмотрим пример кода:
-(void) isneedRateDilog{
if([Utils checkshows]){
[[[UIAlertView alloc] initWithTitle:@»Оценить приложение»
message:@»Если вам понравилось приложение вы можете оставить оценку.»
delegate:self //делегат
cancelButtonTitle:nil // не делать кнопку отмены обычно она красного цвета
otherButtonTitles:@»Оценить»,@»Позже»,@»Никогда», nil] //кнопки
show]; //показать диалог сразу при вызове метода isneedRateDilog
}
}
И так мы задами название initWithTitle, текст сообщения message и три кнопки otherButtonTitles. Обратите внимание что делегатом мы указали self – тоесть обработка событий нажатия на кнопки будет в этом же классе.
Теперь посмотрим на обработчик событий:
-(void)alertView:(UIAlertView *)alertView clickedButtonAtIndex:(NSInteger)buttonIndex {
NSString *title = [alertView buttonTitleAtIndex:buttonIndex];
switch (buttonIndex) {
case 0://оценить
//сюда можно вставить любой другой код
break;
case 1://позже
break;
case 2://никогда
break;
}
}
Как видите всё достаточно прозаично: кнопки имеют индекс попорядку от нуля и до того количества кнопок – которое имеется у вас в диалоговом окне.

Комментариев нет:

Отправить комментарий