2009-10-22 7 views
0

J'ai trois UILabels de largeurs différentes que je voudrais aligner les uns à côté des autres. Comment puis-je mettre à jour la valeur X du cadre?Mise en place de UILabels les uns à côté des autres par programme

Voici ce que j'ai:

UILabel *contractLabel = (UILabel *) [cell viewWithTag:200]; 
contractLabel.text = [board getDisplayLevel]; 

UILabel *contractSuit = (UILabel *) [cell viewWithTag:201]; 
contractSuit.text = [board getDisplayStrain]; 
contractSuit.textColor = [board getDisplayStrainColor]; 
contractSuit.hidden = NO; 
contractSuit.frame = CGRectMake(contractSuit.frame.origin.x = contractLabel.frame.origin.x + contractLabel.bounds.size.width + 3, contractSuit.frame.origin.y, contractSuit.frame.size.width, contractSuit.frame.size.height); // line 121 

UILabel *contractTail = (UILabel *) [cell viewWithTag:202]; 
contractTail.text = [board getDisplayContract]; 
contractTail.hidden = NO; 
contractTail.frame.origin.x = contractSuit.frame.origin.x + contractSuit.bounds.size.width + 3; // line 127 

Les deux missions au cadre consument dans:

ViewBoards_ViewController.m:121: error: lvalue required as left operand of assignment 
ViewBoards_ViewController.m:127: error: lvalue required as left operand of assignment 

Qu'est-ce que je fais mal? Merci.

Répondre

2

Vous avez simple faute de frappe

contractSuit.frame = CGRectMake(contractSuit.frame.origin.x = contractLabel.frame.origin.x + contractLabel.bounds.size.width + 3, contractSuit.frame.origin.y, contractSuit.frame.size.width, contractSuit.frame.size.height); 

devrait être

contractSuit.frame = CGRectMake(contractSuit.frame.origin.x + contractLabel.frame.origin.x + contractLabel.bounds.size.width + 3, contractSuit.frame.origin.y, contractSuit.frame.size.width, contractSuit.frame.size.height); 
+0

Merci, je ne pouvais pas voir que l'un. –

+1

Ça arrive au meilleur de nous. =) –

Questions connexes