2011-04-07 5 views
1

J'ai besoin de conseils. Je suis en train d'analyser un XML et d'obtenir le nom des membres. Le nom devrait être affiché sur l'étiquette. Maintenant, je suis confus en raison du nombre arbitraire de membres. Comment puis-je mettre des étiquettes en fonction du nombre de membres. Exemple: si j'obtiens 5 noms, 5 étiquettes doivent être affichées avec le nom.ajouter dynamiquement l'étiquette

un bon guidage de programmation?

J'ai un scrollview et déjà ajouté un UIVew comme sous-vue pour afficher une étiquette statique. maintenant l'étiquette du nom devrait être affichée sur UIView.

Merci ..

Répondre

2
 
for (NSInteger i = 0, y = 50; i < [memberNameArray count]; i++, y += 30) { 
    UILabel *nameLabel = [[UILabel alloc] initWithFrame:CGRectMake(10, y, 100, 25)]; 
    nameLabel.text = [memberNameArray objectAtIndex:i]; 
    [myScollView addSubview:nameLabel]; 
    [nameLabel release]; 
} 

En supposant que memberNameArray est le tableau de NSString qui contient les noms à afficher. Et vous devez également modifier les valeurs x, y, width, height du cadre et y += 30 en fonction de la position des étiquettes dans l'affichage déroulant.

2

Le code ci-dessous pourrait être utilisé comme référence pour obtenir nombre d'étiquettes en fonction des valeurs de tableau ..

Définissez le cadre correct pour chaque UILabel ...

for(int i = 0 ; i < [myArrayOfValue count]; i++) 
    { 
     UILabel* myLabel = [[UILabel alloc]initWithFrame:CGRectMake(myX,(myY + i*myHeight),myWidth,myHeight); 
     myLabel.text = [myArrayOfValue objectAtIndex:i]; 

     ........... 
     ............ 
     [myView addSubview:myLabel]; 
     myLabel.tag = i ; 
     [myLabel release]; 
    } 
0

for (int i = 0; i < [count myArrayOfValue]; i ++) { UILabel * MyLabel = [[UILabel alloc] initWithFrame: CGRectMake (myX, (myy + i * myHeight), myWidth, myHeight) ; myLabel.text = [myArrayOfValue objectAtIndex: i];

........... 
    ............ 
    [myView addSubview:myLabel]; 
    myLabel.tag = i ; 
    [myLabel release]; 
} 
2

UILabel *lblname=[[UILabel alloc]initWithFrame:CGRectMake(x,y,height,width)];
[lblname setText:@"any text"];
[lblname setBackgroundColor:[UIColor clearColor]];
[lblname setFont:[UIFont systemFontOfSize:15]];
[lblname setNumberOfLines:2];
[lblname setTextAlignment:NSTextAlignmentCenter];
[self.view addSubview:lblname];

+0

S'il vous plaît modifier votre réponse et formater le code pour le rendre lisible. – kleopatra