2010-07-06 4 views
0

J'ai besoin d'un moyen de créer un UIView dynamiquement. Ainsi, la classe parente pourrait chercher par exemple le nombre d'éléments du tableau, et créer des UIViews à la volée de la quantité d'éléments dans le tableau.UIViews dynamiques dans Obj-c + Cocoa touch

Les vues doivent être allouées dynamiquement, je ne peux pas les créer à la volée.

Pouvez-vous m'aider?

Répondre

2

Vous pouvez les créer à tout moment. Vous pouvez appeler cela à partir d'une boucle, stocker le pointeur dans un autre tableau pour une utilisation ultérieure ou ce que vous voulez. N'oubliez pas de les libérer lorsque vous avez terminé. Sinon, vous serez dans un problème de mémoire.

+0

Pas vraiment ce que je cherchais, je dois créer des pointeurs dynamiquement, de sorte que le nombre dans un tableau (NSArray) pour être la le nombre d'UIViews créés est le nombre d'éléments dans le tableau, et ensuite je dois pouvoir me référer aux UIViews par nom (pointeur). –

0

Je pense que ce que vous voulez est ceci (selon la réponse sur la réponse taskinoor).

NSMutableArray* array = [[NSMutableArray alloc] init]; 
for (int i =0; i < 10; i++){ 
    UIView *myView = [[UIView alloc] initWithFrame:CGRectMake(0.0, 5.0 + (i * 20), 15.0, 15.0)]; 
    [array addObject:myView];  

} 

Quand quand vous voulez un de ces vues il suffit d'appeler

UIView* view = (UIView*)[array objectAtIndex:number];