Если я создаю пользовательский UITableViewCell
и мне нужно, чтобы он имел переменную высоту в зависимости от длины ввода (например, для чтения Twitter или чего-то еще), как я могу заставить это работать?
Я нашел здесь много других примеров, которые могут установить его для стандартной, нестандартной ячейки, но основная текстовая метка моей ячейки меньше и т. д., поэтому, когда я пытаюсь использовать любой из этих методов в своей ячейке, они дают различные странные результаты (текст перекрывает нижнюю часть ячейки и т. д.)
Существует ли стандартизированный способ проектирования ячейки (например, какой высоты я должен сделать ее в Interface Builder?), и, скажем, моя метка составляет половину ширины этой ячейки... как мне рассчитать высоту ячейки? нужно отображать строку, загруженную в эту метку? Вот метод, который я нашел здесь, который отлично работает в обычной ячейке, но портит пользовательские ячейки со странной высотой, перекрывающимся текстом и т. д.: буду тоже благодарен!)
- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath {
CGSize textSize = {300.f, 200000.0f};
CGSize size = [[_quoteStringsFromPlist objectAtIndex: indexPath.row] sizeWithFont: [UIFont systemFontOfSize:12.0f] constrainedToSize: textSize lineBreakMode: NSLineBreakByWordWrapping];
size.height += 5.0f;
float result = MAX(size.height, 32.0f);
return result;
}