Оповещение в iphone - PullRequest
       51

Оповещение в iphone

24 голосов
/ 17 ноября 2009

Я новичок в разработке приложений для iPhone. Я хочу создать вид предупреждения с 2 кнопками: OK и Cancel. Когда пользователь дотронется до кнопки OK, я напечатаю сообщение с надписью hello. Когда они коснутся кнопки Cancel, я напечатаю cancel.

Пожалуйста, помогите; как мне это сделать?

Ответы [ 6 ]

63 голосов
/ 17 ноября 2009

Чтобы показать предупреждение:

UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"Do you want to say hello?"
                                                message:@"More info..."
                                               delegate:self
                                      cancelButtonTitle:@"Cancel"
                                      otherButtonTitles:@"Say Hello",nil];
[alert show];
[alert release];

Чтобы ответить на нажатие любой кнопки:

- (void)alertView:(UIAlertView *)alertView didDismissWithButtonIndex:(NSInteger)buttonIndex {
    if (buttonIndex == 0) {
        NSLog(@"Cancel Tapped.");
    }
    else if (buttonIndex == 1) {
        NSLog(@"OK Tapped. Hello World!");
    }
}

Для получения дополнительной информации см. справочник по классу UIAlertView и справочник по протоколу делегата UIAlertView .

26 голосов
/ 24 января 2016

, поскольку выбранный ответ устарел, вот новое решение:

UIAlertController* alert = [UIAlertController alertControllerWithTitle:@"My Alert"
                               message:@"This is an alert."
                               preferredStyle:UIAlertControllerStyleAlert];

UIAlertAction* defaultAction = [UIAlertAction actionWithTitle:@"OK" style:UIAlertActionStyleDefault
   handler:^(UIAlertAction * action) {}];

[alert addAction:defaultAction];
[self presentViewController:alert animated:YES completion:nil];

Как показано в Руководство разработчика iOs .

5 голосов
/ 17 ноября 2009

Показать предупреждение со следующим фрагментом

UIAlertView *alert = [[UIAlertView alloc]
   initWithTitle:@"Make an informed choice"
   message:nil
   delegate:self
   cancelButtonTitle:@"Cancel"
   otherButtonTitles:@"OK", nil];
[alert show];

Для делегата установлено значение self, поэтому при отклонении предупреждения наш собственный класс получит обратный вызов. Делегат должен реализовать протокол UIAlertViewDelegate.

- (void)alertView:(UIAlertView *)alertView
   clickedButtonAtIndex:(NSInteger) buttonIndex{

   if (buttonIndex == 1) {
      // Do it!
   } else {
      // Cancel
   }
}
2 голосов
/ 07 февраля 2012

Вот несколько способов отображения предупреждений на iPhone

пожалуйста, проверьте эту ссылку для большего количества образцов и скриншотов .

(проект XCode с включенным исходным кодом)

  • Простая инструкция
  • OK / Отмена Список действий
  • Простое оповещение

// открыть оповещение с помощью кнопки ОК и отменить

UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"UIAlertView"
        message:@"My message" delegate:self cancelButtonTitle:@"Cancel"
        otherButtonTitles:@"OK", nil];
[alert show];
[alert release];
0 голосов
/ 24 июня 2014

Для вывода отладки вы можете использовать (иногда бывает так, что вы не можете использовать NSLog из-за ошибок, которые появляются только при запуске приложения на устройстве, а не из Xcode):

#define MY_ALERT(str) [[[UIAlertView alloc] initWithTitle:@"System Alert" message:str delegate:nil cancelButtonTitle:@"OK" otherButtonTitles:nil] show]

Затем в вашем коде вы можете сделать, например:

MY_ALERT(NSStringFromCGRect(someView.frame))
0 голосов
/ 02 октября 2012
UIAlertView * alert = [[UIAlertView alloc]initWithTitle:@"Hello world" message:@"This is an alert view" delegate:self cancelButtonTitle:@"ok" otherButtonTitles:nil];

Таким образом, мы создаем объект класса UIAlertView и устанавливаем заголовок " Hello world " и сообщение " Это представление предупреждения " и заголовок кнопки. как хорошо Для подробного ответа посетите этот блог

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