2010-03-31 8 views
0

J'ai du mal à créer un UITableViewCell personnalisé (dans IB) qui a un UIImageView sur la gauche, fixé dans le coin supérieur gauche, puis 2 UILabel est adjacent à lui, côte à côte. Ainsi, la cellule ressemble à:Personnalisé UITableViewCell avec 2 UILabel redimensionnés

+---------------------------+ 
| IMAGE LABEL1 LABEL2 > | 
+---------------------------+ 

Ce que je ne peux pas sembler faire est de changer le cadre de LABEL1 il convient que le texte est contient, alors assurez-vous que LABEL2 se déplace vers la gauche (ou à droite) il se termine directement à côté, remplissant tout l'espace pour le reste de la cellule.

Ainsi, en se concentrant sur le texte de l'étiquette, je voudrais cellule à ressembler à ceci:

+---------------------------+ 
| IMAGE Call 123456  > | 
+---------------------------+ 

après que j'ai LABEL1 à « Appeler » et LABEL2 à « 123456 » dans:

- (UITableViewCell *)tableView:(UITableView *)tableView 
     cellForRowAtIndexPath:(NSIndexPath *)indexPath 

en fait, je peux redimensionner LABEL1 avec ceci:

CGSize sizeToMakeLabel = [label.text sizeWithFont:label.font]; 

label.frame = CGRectMake(label.frame.origin.x, 
         label.frame.origin.y, 
         sizeToMakeLabel.width + 3, 
         sizeToMakeLabel.height); 

maintenant, le cadre pour le texte « Appeler » correspond à ce texte (confi rmed en définissant une couleur d'arrière-plan), mais le texte "123456" ne semble pas se déplacer vers la gauche, quel que soit l'autosizing que j'ai défini dans IB, ou des méthodes pour redimensionner la vue des cellules? Je semble avoir besoin du +3 pour m'assurer que "Call" ne ressemble pas à ce "C ..." aussi?

J'utilise 2 étiquettes afin que LABEL1 puisse être en gras.

Répondre

Questions connexes