Есть ли способ настроить ширину таблицы ширины по ширине самого большого текста, который должен быть установлен на ярлыке cellTitle?Как изменить размер UITableView в соответствии с его содержимым?
IOS 8, СВИФТ
Есть ли способ настроить ширину таблицы ширины по ширине самого большого текста, который должен быть установлен на ярлыке cellTitle?Как изменить размер UITableView в соответствии с его содержимым?
IOS 8, СВИФТ
width
ограничение автоматической компоновки в представлении таблицы.outlet
с ограничениями на ваш код (ctrl + drag, точно так же, как вид).Когда вы размер этикетки (если метка также имеет функцию автоматической компоновки, то вы будете иметь его viewDidLayoutSubviews
) установите ширину таблицы следующим образом:
- (void)viewDidLayoutSubviews {
self.myTableWidthConstraint.constant = self.myLabel.frame.size.width;
[self.myTableView updateConstraints];
[self.myTableView layoutIfNeeded];
}
Спасибо, что работает !!! – Nik
Рад, что это сработало, если ответ решил вашу проблему, пожалуйста, обратите внимание на отметку зеленой проверки для ответа, спасибо (: –
Вы можете достичь его, написав 2 строки в viewDidLoad
:
//what ever you want the estimated row height
self.tableView.estimatedRowHeight = 280
self.tableView.rowHeight = UITableViewAutomaticDimension
Примечание: его применять только для IOS 8
это не имеет никакого отношения к ширине ... –
@AndreSlotta Ширина не важна, это может достичь, чтобы соответствовать содержанию на этикетке. – AaoIi
Да, я знаю об этой возможности. но для меня вопрос звучит по-другому: * способ настройки ширины таблицы ширины по ширине самого большого текста * ... –
Вы должны быть в состоянии сделать это в инспекторе размеров.
public override func viewDidLayoutSubviews() {
super.viewDidLayoutSubviews()
// Set the popover tableview width to be max compressed size (assumes all cells visible)
let maxWidth = tableView.visibleCells.reduce(0.0) { (currentMax, cell) -> CGFloat in
return max(currentMax, cell.contentView.systemLayoutSizeFittingSize(UILayoutFittingCompressedSize).width)
}
var contentSize = tableView.contentSize
contentSize.width = maxWidth
tableView.contentSize = contentSize
tableView.bounds.size = contentSize
}
Что вы пытаетесь достичь? вы хотите поместить некоторые другие элементы управления прямо в таблицу? или почему он не должен занимать весь экран? –