2011-02-06 2 views
18

Как я могу уволить UIAlertView? Этот код не работает.Как я могу уволить UIAlertView?

@property (nonatomic, retain) UIAlertView *activityAlertView; 
- (void)viewDidLoad 
{ 
self.activityAlertView = [[UIAlertView alloc] initWithTitle:@"Receiving data" message:@"\n\n" 
                 delegate:self 
               cancelButtonTitle:@"Cancel" 
               otherButtonTitles:nil, nil]; 
[activityAlertView show]; 
} 

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

-(void) myfunc 
{ 
[self alertView:activityAlertView clickedButtonAtIndex:1]; 
} 

ответ

56

- (void)dismissWithClickedButtonIndex:(NSInteger)buttonIndex animated:(BOOL)animated метод класса UIAlertView делает то, что вы хотите. например:

[myAlertView dismissWithClickedButtonIndex:-1 animated:YES]; 
+1

Thnx Buddy ... :-) – Ayaz

+4

Вероятно, более чистый использовать индекс кнопки отмены: '[myAlertView rejectWithClickedButtonIndex: myAlertView.cancelButtonIndex animated: YES];'. –

+0

@VincentTourraine Ouh, старый ответ, вы там выкопали. Если индекс кнопки отмены правильный, зависит от поведения, которое вы хотите. Если вы просто хотите отклонить предупреждение, '-1' - это путь. Если вы предпочитаете работать через случай отмены, индекс кнопки отмены правилен. – JustSid

5

Поскольку вы используете метод делегата обратного вызова UIAlertView, я считаю, что лучше использовать следующий код

[myAlertView dismissWithClickedButtonIndex:0 animated:YES]; 

если нет, то использовать предложенную выше код

[myAlertView dismissWithClickedButtonIndex:-1 animated:YES]; 
+1

ОтключитьWithClickedButtonIndex – Gank

Смежные вопросы