2011-08-03 13 views
14

Bunu daha önce yaptığımı biliyorum ama tekrar anlayamıyorum.UIAlertView, iptal butonunun seçilip seçilmediğini anlamanın kolay bir yolu

İptal düğmesine basıldığını görmek için kullanacağım yöntem nedir. Düğme dizinine göre yapmak istemiyorum. Bunu yapmanın bir yolu var:

[alertView isCancelIndex:index]; 

Herkes biliyor mu?

+8

soruların Bu tür kolayca belgelere göre çözülür. Ayrıca çok zaman kazandıracaksın. UIAlertView sınıf referansı için Apple'ın bağlantısını tıklamak ve özelliklerin ve yöntemlerin listesine biraz ilerlemek kadar kolay. – EmilioPelaez

cevap

52

UIAlertView UIAlertView ait temsilci olarak düğme endeksi

@property(nonatomic) NSInteger cancelButtonIndex 

Kullanımı

[alertView cancelButtonIndex] 
2

iptal bir özelliğini yöntemidir sahiptir

(boşluk) alertView: (UIAlertView * alertView clickedButtonAtIndex: (NSInteger) düğmesiIndex

Ve sonra:

- (void)alertView:(UIAlertView *)alertView clickedButtonAtIndex:(NSInteger)buttonIndex 
{ 
    NSInteger cancelIndex = [alertView cancelButtonIndex]; 
    if (cancelIndex != -1 && cancelIndex == buttonIndex) 
    { 
     // Do something... 
    } 
} 
+0

OP, bu yöntemin kullanılmadığını özellikle belirtti – rich

+2

OP'nin, dizini sabit kodlamak istemediğini kastettiğini düşünüyorum. (Ne demek istediğini bildiği ölçüde) –

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

    if (buttonIndex == [alertView cancelButtonIndex]) { 
    NSLog(@"The cancel button was clicked for alertView"); 
    } 
// else do your stuff for the rest of the buttons (firstOtherButtonIndex, secondOtherButtonIndex, etc) 
} 

İlgili konular