2013-04-22 17 views

risposta

0

Ho provato questo e Cancella pulsante è nella parte inferiore:

menu = [[UIActionSheet alloc] initWithTitle:@"Actionsheet" 
                delegate:self 
             cancelButtonTitle:@"Cancel" 
            destructiveButtonTitle:@"destructive" 
             otherButtonTitles:@"other1", nil]; 
menu.actionSheetStyle = UIActionSheetStyleDefault; 
[menu addButtonWithTitle:@"Cancel"]; 

Per default Annulla button is hidden, aggiungendo un Annulla verrà dimostra.

MA: se si dispone di elementi GUI aggiuntivi sul vostro actionsheet dovete

opzione1) posizione quelli per nascondere altri pulsanti (per avere spazio per il vostro elemento GUI). Il suo un tweak, ma può funzionare in qualche situazione o

opzione2) è necessario aggiungere manualmente il pulsante per l'actionsheet

di Actionsheet pulsanti integrati non sono allineare-in grado di fondo liberamente, perché lo scopo è diverso per questo elementi gui integrati.

vedere questo: Adding UIPickerView to UIActionSheet (buttons at the bottom)

+0

questo funziona perché u hanno paio di altri pulsanti pulsante sopra annullare. Ma nel mio caso non ho altri pulsanti. è solo una vista tabella e pulsante Annulla – Arun

+0

Finalmente ho capito il tuo set-up, quindi penso che l'unica opzione per te sia aggiungere un UIButton al tuo ActionSheet. – nzs

+0

hai ragione ... è meglio che tu scelga questa opzione :-) – Arun

6

è lavoro per me:

UIActionSheet *actionSheet = [[UIActionSheet alloc] initWithTitle:@"SomeTitle" delegate:self cancelButtonTitle:nil destructiveButtonTitle:nil otherButtonTitles:nil, nil]; 
[actionSheet addButtonWithTitle:@"Some Action"];   
[actionSheet addButtonWithTitle:@"Cancel"]; 
actionSheet.cancelButtonIndex = actionSheet.numberOfButtons -1; 
+1

Hai ragione. Se si utilizza 'addButtonWithTitle:' invece di occuparsi di tutto con l'inizializzatore, è necessario specificare l'indice del pulsante Annulla. –

0

Esempio in Swift:

func presentMyActionSheetIOS7() { 
    let actionSheet: UIActionSheet = UIActionSheet(title: "What do you want to do?", delegate: self, cancelButtonTitle: nil, destructiveButtonTitle: nil) 

    actionSheet.addButtonWithTitle("Change Transparency") 
    actionSheet.addButtonWithTitle("Hide Photo") 
    actionSheet.addButtonWithTitle("Cancel") 
    actionSheet.cancelButtonIndex = actionSheet.numberOfButtons - 1 

    actionSheet.showInView(self.view) 
} 

func actionSheet(actionSheet: UIActionSheet, clickedButtonAtIndex buttonIndex: Int) { 
    switch buttonIndex { 
     case 0: 
      println("Change Transparency") 
     case 1: 
      println("Hide Photo") 
     case 2: 
      println("Cancel") 
     default: 
      println("Default") 
    } 
} 
Problemi correlati