2010-01-19 2 views
10

Я использую ячейку UITableViewCellStyleValue2 в своем UITableView в своем приложении, и я хочу, чтобы левый столбец (синий текст - self.textField) был намного уже, чем значение по умолчанию. Я попытался настроить self.textField.bounds после создания ячейки, но это, похоже, не работает - глядя в отладчик, он кажется, что границы не были установлены.Как изменить размер меток на ячейке UITableViewCellStyleValue2? (UITableView iPhone)

Могу ли я редактировать тип ячейки по умолчанию таким образом, или я должен просто создать свой собственный подкласс UITableViewCell?

Спасибо.

ответ

18

Вы можете подкласс UITableViewCell и использовать UITableViewCellStyleValue2. Затем вы можете перезаписать метод layoutSubviews, чтобы изменить размер меток:

- (void) layoutSubviews { 
    [super layoutSubviews]; // layouts the cell as UITableViewCellStyleValue2 would normally look like 

    // change frame of one or more labels 
    self.textLabel.frame = CGRectMake(...); 
    self.detailTextLabel.frame = CGRectMake(...);  
} 
+0

благодарит felix. Это прекрасно работает .. :-) –

+2

p.s .: вы не должны делать ничего, кроме смены кадров здесь. если вы хотите изменить шрифты (izes), вы должны сделать это при создании/загрузке ячейки. – FelixLam

+0

да - это имеет смысл. Ура! –

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