Пользовательский UITableViewCell с 2 размерами UILabel - PullRequest
0 голосов
/ 31 марта 2010

Я изо всех сил пытаюсь создать пользовательский UITableViewCell (в IB), который имеет UIImageView слева, прикрепленный к верхнему левому углу, а затем 2 соседних UILabel рядом с ним, рядом. Таким образом, ячейка выглядит примерно так:

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

То, что я не могу сделать, это изменить рамку LABEL1, чтобы она соответствовала содержанию текста, а затем убедиться, что LABEL2 перемещается влево (или вправо), так что он оказывается в непосредственной близости от него, заполняя все пространство для остальная часть клетки.

Итак, концентрируясь на тексте метки, я бы хотел, чтобы ячейка выглядела так:

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

после того, как я установил LABEL1 на «Call» и LABEL2 на «123456» в:

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

На самом деле я могу изменить размер LABEL1 с помощью:

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

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

Теперь рамка для текста «Позвонить» соответствует этому тексту (подтверждается установкой цвета фона), но текст «123456», похоже, не смещается влево, независимо от того, какое автоматическое изменение размера я установил в IB, или методов для изменить размер ячеек? Мне кажется, что мне нужно +3, чтобы "Call" тоже не выглядел как "C ..."?

Я использую 2 метки, чтобы LABEL1 можно было выделить жирным шрифтом, скажем.

1 Ответ

0 голосов
/ 07 апреля 2010

Наткнулся на этот пост:

Программирование UILabels рядом друг с другом

Подтверждает тот же подход, который я использовал - отрегулируйте кадр каждой UILabel.

...