UIAlert View Objective C - Открытие ссылки на магазин приложений - PullRequest
2 голосов
/ 12 декабря 2010
    UIAlertView *alert = [[UIAlertView alloc] initWithTitle:nil message:@"An Alert!" 
                                                   delegate:self cancelButtonTitle:@"OK" otherButtonTitles:[[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"http://phobos.apple.com/WebObjects/MZStore.woa/wa/viewSoftware?id=301349397&mt=8"]];];
    [alert show];
    [alert release];

Я пытаюсь отобразить UIAlertView с одной кнопкой «ОК» и одной кнопкой «Купить полную версию».Как я могу заставить работать приведенный выше код?

Спасибо

1 Ответ

7 голосов
/ 12 декабря 2010

Вам нужно обработать нажатие кнопки в указанном UIAlertViewDelegate.

Кроме того, otherButtonTitles - это просто va_list из NSString объектов для использования в качественазвания, вы устанавливаете, что происходит, когда они прослушиваются методом UIAlertViewDelegate alertView:clickedButtonAtIndex::

- (void) alertView:(UIAlertView *) alertView clickedButtonAtIndex:(NSInteger) index {
    if(index == 1) {
       [[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"http://phobos.apple.com/WebObjects/MZStore.woa/wa/viewSoftware?id=301349397&mt=8"]];
    }
}

Не забудьте установить delegate:

UIAlertView *alert = [[UIAlertView alloc] initWithTitle:nil message:@"An Alert!" 
                                                            delegate:self
                                                   cancelButtonTitle:@"OK"
                                                   otherButtonTitles:@"Buy Full Version"];
[alert show];
[alert release];
...