Я пытаюсь отобразить таблицу, заполненную статусами твиттера (да, это назначение Stanford Presence 2 ), размер которого варьируется. Я могу относительно легко определить подходящую высоту для моих строк с помощью кода, который приблизительно (из сопровождающей лекции 9 ):
- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *) indexPath
{
NSString *text = ...;
UIFont *font = [UIFont systemFontOfSize:...];
CGSize withinSize = CGSizeMake(tableView.width, 1000];
CGSize size = [text sizeWithFont:font constrainedToSize:withinSize lineBreakMode:UILineBreakModeWordWrap];
return size.height + somePadding;
}
Я испробовал два подхода (и некоторые настройки обоих), чтобы получить многострочное поле текста для переноса слов в строку таблицы.
Добавьте UILabel в качестве подпредставления к моему пользовательскому подклассу UITableCell и установите для свойства numberOfLines
либо вычисленное число, основанное на высоте выше (скажем, 6), либо 0 (теоретически неограниченно). numberOfLines
игнорируется; Я вижу 1 или 2 строки, и не более.
Добавить UITextView только для чтения в качестве подпредставления. Это проблема в том, что UITextView съел мою прокрутку; Я заканчиваю тем, что прокручиваю внутри строки UITextView вместо плавного перемещения от строки к строке. Если я отключу прокрутку в UITextView, я вообще не смогу прокрутить.
Это довольно распространенная вещь; Каков наилучший способ сделать это?