2010-07-07 5 views
2

J'ai un problème, dans la mesure où j'ai besoin de créer une quantité arbitraire d'objets UIView. J'ai un NSArray et ce que je dois faire est de créer des objets UIView pour le nombre d'éléments dans le tableau, donc j'ai obtenu un int de la méthode , donc je connais le nombre d'objets à créer, mais la façon d'implémenter cela je suis perplexe. Je vais inclure quelques psudocode ci-dessous pour tenter de donner à travers ce que je dois faire:Objets UIView créés dynamiquement

[UIView returnMultipleUIViewsForInt:[theArray count]]; 

Il est évident que cela ne fonctionnera pas, mais un moyen de créer une quantité arbitraire d'objets à l'exécution, que je peux travailler avec serait bon.

Donc en bref:

Je dois créer un certain nombre de UIViews en fonction du nombre d'éléments dans un tableau. Je dois ensuite accéder à chaque vue créée et l'utiliser comme une vue créée régulièrement, par exemple en ajoutant l'un d'entre eux en tant que sous-vue à une vue différente.

Répondre

2
- (NSArray *)createNumberOfViews:(NSInteger)number 
{ 
    NSMutableArray *viewArray = [NSMutableArray array]; 
    for(NSInteger i = 0; i < number; i++) 
    { 
     UIView *view = [[UIView alloc] init]; 
     // any setup you want to do would go here, e.g.: 
     // view.backgroundColor = [UIColor blueColor]; 
     [viewArray addObject:view]; 
     [view release]; 
    } 
    return viewArray; 
} 
+0

C'est génial! Cependant, je dois toujours accéder à chaque vue de ce tableau, donc comment peut-on dire ajouter chaque vue dans le nouveau tableau de vues comme une sous-vue d'une autre vue, ou simplement accéder à chaque vue de ce tableau comme un objet vue. –

+3

@Ollie: veuillez lire: 1. la réponse à nouveau, 2. la documentation de NSArray, 3. le chapitre sur les boucles de tout manuel de programmation. –

1
NSMutableArray *newViews = [NSMutableArray array]; 
for (int i=0; i<[theArray count]; ++i) { 
    UIView *view = [[UIView alloc] init]; 
    [newViews addObject:view]; 
    [view release]; 
} 
Questions connexes