UIAlertView.Использование другой кнопки в качестве openURL. - PullRequest
0 голосов
/ 11 августа 2011

Я хочу, чтобы после нажатия пользователем кнопки «прочее» он переходил на мою ссылку.Но в данный момент, когда кнопка нажата, она ничего не делает.

Извините, я на моем iPhone, поэтому я использовал pastebin для кода

http://pastebin.com/fvgk87ih

Большое спасибо

Ответы [ 3 ]

1 голос
/ 11 августа 2011

Вам необходимо установить для UIAlertView delegate свойство self вместо nil и реализовать протокол в заголовке.

Заголовочный файл:

@interface MyViewController : UIViewController <UIAlertViewDelegate>

Кроме того, проверьте на buttonIndex.В настоящее время (после выполнения вышеупомянутого) он откроет URL, если нажата любая кнопка.

- (void)alertView: (UIAlertView *)alertView clickedButtonAtIndex: (NSInteger)buttonIndex
{
    if (buttonIndex != [alertView cancelButtonIndex])
    {
       //open url
    }
}
1 голос
/ 11 августа 2011

Соответствует классу вашего контроллера протоколу UIAlertViewDelegate.

@interface MyViewController : UIViewController <UIAlertViewDelegate>

Создать представление оповещения с делегатом, установленным в self:

UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"Follow" message:@"me on twitter" delegate:self cancelButtonTitle:@"No" otherButtonTitles:@"Yes", nil];
[alert show];
[alert release]; 

Ответ на метод делегата

- (void)alertView:(UIAlertView *)alertView didDismissWithButtonIndex:(NSInteger)buttonIndex {
    if (buttonIndex != [alertView cancelButtonIndex]) {
       // open url
    }
}
1 голос
/ 11 августа 2011

delegate вашего UIAlertView должен быть установлен в класс (self в большинстве случаев), который его использует. Убедитесь, что ваш класс, вызывающий UIAlertView, соответствует делегату UIAlertViewDelegate.

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