2011-06-01 2 views
4

У меня есть это предупреждение (отказ от ответственности), которое появляется, когда приложение заканчивается. Он работает (сейчас мое приложение намного медленнее), но я также хочу выйти из приложения, если пользователь нажмет no, thanks. Я думаю, что я должен использовать clickedButtonAtIndex :.
1. Может ли кто-нибудь помочь мне в этом?
2. is viewDidLoad лучший способ запускать alertView при запуске приложения?
3. Есть ли причина, почему сейчас для моего приложения требуется больше времени, чтобы начать, когда я его создаю и запускаю?Alert View - Как использовать clickedButtonAtIndex:

-(void)viewDidLoad { 
    UIAlertView *disclaimer = [[UIAlertView alloc] initWithTitle:   @"DISCLAIMER" message:@"This Application is provided without any express or implied warranty. Errors or omissions in either the software or the data are not guaranteed against. The application is not intented to replace official documentation or operational procedure. In no event shal the developer be held liable for any direct or indirect damages arising from the use of this application" delegate:self cancelButtonTitle:@"No, thanks" otherButtonTitles:@"Accept", nil]; 
    [disclaimer show]; 
    [disclaimer release]; 
    [super viewDidLoad]; 
} 

ответ

12
- (void)alertView:(UIAlertView *)alertView didDismissWithButtonIndex:(NSInteger)buttonIndex 
{ 
if(buttonIndex == 0) 
// Do something 
else 
// Some code 
} 

или

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

    if(buttonIndex == 0) 
    // Do something 
    else 
    // Some code 
} 

Убедитесь, что ваш класс соответствует протоколу UIAlertViewDelegate.

И я не думаю, что выход из приложения - хороший подход. Хотя вы должны разрешить пользователю закрывать приложение, нажав кнопку «домой». Это против поведения по умолчанию, которое пользователь ожидает от каждого приложения.

+0

, где именно я должен вставить этот код .... до или после того, как} ??? Я помещаю уже делегата, но в этом случае мне не нужно ставить что-то вроде этого: disclaimer.delegate = self; ??? Какой метод мне нужно использовать yo для выхода из приложения, если пользователь нажимает «нет, спасибо» ??? – mat

+0

После}, без сомнения. Помните, что это отдельный метод. :) – visakh7

10

Попробуйте эту магию:

- (void)alertView:(UIAlertView *)alertView clickedButtonAtIndex:(NSInteger)buttonIndex 
{ 
    if(alertView.cancelButtonIndex == buttonIndex){ 
    // Do cancel 
    } 
    else{ 
    // Do the real thing 
    } 
} 
Смежные вопросы