Я изо всех сил пытаюсь создать пользовательский 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 можно было выделить жирным шрифтом, скажем.