2013-07-20 3 views
0

Я предполагаю, что мне не хватает чего-то очевидного. У меня есть UIAlertView, чтобы получить обзор приложения, но я не могу заставить кнопки ничего делать. Я позвонил UIAlertViewDelegate в my.h, у меня также есть пыльник UIAlertview, который находится только на IBAction btn, и он отлично работает, хотя он просто отменил btn.UIAlertView buttonIndex не работает

Я пробовал давать alert.tag = 1, но это никогда не имело никакого значения, поэтому я прокомментировал свой первый UIAlertview, так что у меня просто есть одно предупреждение, но до сих пор нет радости. Наверное, мне не хватает чего-то простого.

Я также попытался alertview.cancelButtonIndex или alertview.firstOtherButtonIndex вместо 0

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



    if (buttonIndex == 0) { 
     NSLog(@"index 0 "); 
    } 
    else if (buttonIndex == 1) { 
     NSLog(@"index 1 "); 
     [[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"www.google.com"]]; 
     NSUserDefaults *rateApp = [NSUserDefaults standardUserDefaults]; 
     NSInteger appLaunch = [ rateApp integerForKey:@"appLaunch"]; 
     appLaunch = 0 ; 
     [rateApp setInteger: appLaunch forKey:@"appLaunch"]; 
    } 
    else if (buttonIndex == 2) { 
     NSLog(@"index 2 "); 
    } 
} 


- (void)viewDidLoad 


{ 
    [super viewDidLoad]; 

    //rate app appLaunch == 5 || appLaunch ==10 
    NSUserDefaults *rateApp = [NSUserDefaults standardUserDefaults]; 
    NSInteger appLaunch = [ rateApp integerForKey:@"appLaunch"]; 
    if (appLaunch == 1 ) { 
     UIAlertView *alert = [[UIAlertView alloc]initWithTitle:@"Like this app ?" message:@"Why not rate at the app store" delegate:nil cancelButtonTitle:@"No thanks" otherButtonTitles:@"Yes",@"Remind me later", nil]; 
     // alert.tag = 1; 
     [alert show]; 
     } 

Спасибо за любую помощь.

ответ

1

AlertView's delegate должен быть self вместо nil, если вы хотите вызвать его метод делегирования.

Используйте этот код:

UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"Like this app ?" 
         message:@"Why not rate at the app store"           
         delegate:self 
         cancelButtonTitle:@"No thanks" 
         otherButtonTitles:@"Yes",@"Remind me later", nil];