2009-03-19 7 views
5

J'ai une fenêtre d'action dans mon application iphone. Je voudrais le remplir avec des chaînes d'un tableau au lieu de valeurs prédéterminées.Remplir une feuille de calcul avec un tableau

Je ne trouve rien en ligne pour le faire! Peut-être que la feuille de calcul n'est pas la bonne chose à utiliser?

En ce moment, c'est ce que j'utilise pour construire:

roomspopup = [ [ UIActionSheet alloc ] 
        initWithTitle: alertname 
        delegate: self 
        cancelButtonTitle: @"Cancel" 
        destructiveButtonTitle: nil 
        otherButtonTitles: @"Kitchen", "Dining Room", nil ]; 

Mais, au lieu de « cuisine » et « Salle à manger » Je voudrais que ce remplir d'un tableau. La taille de la matrice (c'est-à-dire le nombre de pièces) n'est pas un nombre fixe.

Répondre

7

Vous ne pouvez pas le faire en une ligne. Vous devrez appeler initWithTitle avec un ensemble de boutons vide, puis ajouter vos autres boutons avec la boucle en utilisant addButtonWithTitle:.

14

@JimTrell

La façon de résoudre ce problème serait d'initialiser le UIActionSheet sans le bouton annuler et ajouter ce bouton annuler après avoir ajouté vos autres boutons.

Première initialisation de la feuille avec un tas de son néant:

UIActionSheet *actionSheet = [[UIActionSheet alloc] initWithTitle:@"Choose" 
         delegate:self 
         cancelButtonTitle:nil 
         destructiveButtonTitle:nil 
         otherButtonTitles:nil]; 

boucle Ensuite, à travers votre tableau avec addButtonWithTitle: et enfin ajouter le bouton annuler et son index:

[actionSheet addButtonWithTitle:@"Cancel"]; 
[actionSheet setCancelButtonIndex:[yourArray count]]; 
+1

Plus généralement: '[actionSheet setCancelButtonInd ex: [actionSheet numberOfButtons] - 1]; ' – Nestor

0

je peux mettre en place le bouton d'annulation au bas de l'écran en utilisant ce code:

anActionSheet = [[UIActionSheet alloc] initWithTitle:@"Change A/C" delegate:self 
    cancelButtonTitle:nil destructiveButtonTitle:nil otherButtonTitles:nil, nil]; 

for (int i = 0; i < [arraylist count]; i++)  
    [anActionSheet addButtonWithTitle:[arraylist objectAtIndex:i]]; 

anActionSheet.cancelButtonIndex = [arraylist count];  
[anActionSheet addButtonWithTitle:@"Cancel"]; 
+0

anActionSheet.cancelButtonIndex = [nombre d'arrays]; est le point principal. Vous devrez le déclarer après la boucle afin que le bouton d'annulation soit configuré après tous les autres boutons. –

Questions connexes