2010-11-01 5 views
0

У меня есть UITableViewCell, который имеет TextLabel и UITextField прикрепленное как подвид, как это:Установка ширины TextLabel в UITableViewCell

cell = [tableView dequeueReusableCellWithIdentifier:Value1CellIdentifier]; 
cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleValue1 reuseIdentifier:Value1CellIdentifier] autorelease]; 
cell.accessoryType = UITableViewCellAccessoryNone; 
cell.selectionStyle = UITableViewCellSelectionStyleNone; 
cell.textLabel.text = @"Name"; 
UITextField *playerTextField = [[UITextField alloc] initWithFrame:CGRectMake(110, 10, 185, 30)]; 
playerTextField.adjustsFontSizeToFitWidth = YES; 
playerTextField.textColor = [UIColor blackColor]; 
playerTextField.placeholder = @"John Doe"; 
playerTextField.textAlignment = UITextAlignmentLeft; 
[playerTextField setEnabled: YES]; 
[cell addSubview:playerTextField]; 
[playerTextField release];

TextLabel берет на дорогу много места. Как я могу установить ширину textLabel, так что остальная часть UITableViewCell получит ширину напоминания?

Спасибо

ответ

1

textLabel доступен только для чтения. Почему бы не создать свою собственную и добавить ее в ячейку?

+0

Ну на самом деле я могу просто установить позицию мой добавленный subview к более «левому», и он работает :) – Neigaard

+0

Цифры. Тогда зачем беспокоиться? :) –

1

Короче говоря, вы можете установить ширину UITextLabel внутри UITableViewCell, используя метод layoutSubviews, который выполняется в классе UITableViewCell. Использование этого потребует, скорее всего, создать собственный пользовательский класс UITableViewCell, например, Joseph Tura.

отправленного ответа в следующей ссылке имеет большой пример того, как использовать layoutSubviews: Having a UITextField in a UITableViewCell

Это решение очерчивает альтернативный подход, а также: How to put a UITextField inside of a UITableViewCell (grouped)?

Смежные вопросы