Я создаю чат-приложение. Я показываю сообщения в UILabel
и хочу отрегулировать высоту UILabel
на размер и в соответствии с размером UILabel
Я хочу отрегулировать высоту UITableViewCell
.Как добавить ограничение по высоте в ячейку просмотра UITable
я успешно обновил высоту UILabel
с помощью следующего кода:
[lblSender setTranslatesAutoresizingMaskIntoConstraints:NO];
NSString *text = [messagesArray objectAtIndex:indexPath.row];
UIFont *font = lblSender.font;
CGSize maximumLabelSize = CGSizeMake(lblSender.frame.size.width,9999);
NSAttributedString *attributedText =
[[NSAttributedString alloc] initWithString:text
attributes:@{NSFontAttributeName: font}];
CGRect rect = [attributedText boundingRectWithSize:maximumLabelSize
options:NSStringDrawingUsesLineFragmentOrigin
context:nil];
float height = rect.size.height;
CGRect newFrame = [lblSender frame];
newFrame.size.height = height;
[lblSender addConstraints:[NSLayoutConstraint constraintsWithVisualFormat: [NSString stringWithFormat:@"H:[lblSender(==%f)]",lblSender.frame.size.width]
options:0
metrics:nil
views:NSDictionaryOfVariableBindings(lblSender)]];
[lblSender addConstraints:[NSLayoutConstraint constraintsWithVisualFormat: [NSString stringWithFormat:@"V:[lblSender(==%f)]",newFrame.size.height]
options:0
metrics:nil
views:NSDictionaryOfVariableBindings(lblSender)]];
[lblSender setFrame:newFrame];
[lblSender setTranslatesAutoresizingMaskIntoConstraints:YES];
От этого я получаю UITable Как это:
Когда я же с затем ячейкой, то я не получаю никакого результата, как я могу это сделать.
Я не думаю, что вам нужно добавьте любое ограничение для ячейки, вам просто нужно вернуть вычисляемую высоту ячейки в '- (CGFloat) tableView: (UITableView *) tableView heightForRowAtIndexPath: (NSIndexPath *) indexPath' Для получения дополнительной информации см. [здесь] (http: //www.raywenderlich. ком/73602/динамическая таблица с видом на клеточно высоты авто-макет) – iphonic