Установка ширины textLabel в UITableViewCell - PullRequest
0 голосов
/ 01 ноября 2010

У меня есть UITableViewCell, у которого есть textLabel и UITextField, присоединенные как подпредставление, подобное этому:

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 получила ширину напоминания?

Спасибо

Ответы [ 2 ]

1 голос
/ 01 ноября 2010

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

Опубликованный ответ в следующей ссылке содержит отличный пример использования layoutSubviews: Наличие UITextField в UITableViewCell

Это решение также описывает альтернативный подход: Как поместить UITextField в UITableViewCell (сгруппированный)?

1 голос
/ 01 ноября 2010

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...