2012-05-03 2 views
1

Привет, ребята у меня есть это я IBAction связан с кнопкой:clickedButtonAtIndex: не работает

- (IBAction)showCurl:(id)sender { 
     alert1 = [[UIAlertView alloc]initWithTitle:@"Loading" message:nil delegate:self cancelButtonTitle:nil otherButtonTitles:nil]; 
     [alert1 show]; 

}

и clickedButtonIndex для автоматического запуска, но почему-то не загружается SecondViewController:

#pragma mark UIAlertView 
- (void)alertView:(UIAlertView *)alert1 clickedButtonAtIndex:(NSInteger)buttonIndex { 
    if(buttonIndex == 0){ 
     SecondViewController *sampleView = [[SecondController alloc] init]; 
     [sampleView setModalTransitionStyle:UIModalTransitionStylePartialCurl]; 
     [self presentModalViewController:sampleView animated:YES]; 
     } 
    else{ 
      // Cancel prompt 
     } 
} 

Я что-то пропустил?

+0

В чем проблема? было показано предупреждение? если это так, называется метод делегата? –

+0

Предупреждение отображается, но оно не переключается на SecondViewController, как показано в '- (void) alertView: (UIAlertView *) alert1 clickedButtonAtIndex: (NSInteger) buttonIndex {' –

ответ

2

Если вы не даете предупреждающим представлениям о некоторых названиях кнопок, не будет никаких кнопок для включения, и этот метод делегата не будет вызван.

- (IBAction)showCurl:(id)sender { 
     alert1 = [[UIAlertView alloc] initWithTitle:@"Loading" message:nil delegate:self cancelButtonTitle:@"OK" otherButtonTitles:nil]; 
     [alert1 show]; 
} 
+0

Так как я могу сделать, когда пользователь нажимает кнопку, предупреждение появляется для загрузки и отключается после загрузки данных? –

+1

В зависимости от того, как вы загружаете свои данные, вы представляете представление, когда начинаете и отклоняете его в ответ на обратный вызов делегата '-didFinishLoading' или какое-либо другое уведомление. UIAlertView также является неправильным компонентом пользовательского интерфейса для использования; его следует использовать экономно, чтобы представить пользователю выбор. В общем, вы должны избегать блокировки основного пользовательского интерфейса с модальным видом при загрузке, особенно в iOS. –

0

Ваш код не отображается кнопка

alert1 = [[UIAlertView alloc]initWithTitle:@"Loading" message:nil delegate:self cancelButtonTitle:**nil** otherButtonTitles:**nil**]; 

Проходите ноль как cancelButtonTitle и ноль как otherbuttonTitles, вы должны по крайней мере одно название кнопки набора.