Поведение размера контента, которое вы описали, является правильным. Если вы хотите узнать высоту UITableView
, вы должны смотреть на ее фрейм, а не на размер ее содержимого.
Я не уверен, зачем вам нужен контейнерный вид для табличного представления, вы можете расположить его как простой UIView
, тогда у вас будет на одну проблему меньше, просто измените фрейм tableView.
Обновление
После прочтения комментариев я вижу, что вы хотите tableView внутри tableViewCell. Большую часть вам придется делать самостоятельно, но я могу помочь вам с UITableViewAutomaticDimension
.
Попробуйте добавить это в свой viewController:
override func tableView(tableView: UITableView, heightForRowAtIndexPath indexPath: NSIndexPath) -> CGFloat {
return UITableViewAutomaticDimension
}
override func tableView(tableView: UITableView, estimatedHeightForRowAt indexPath: NSIndexPath) -> CGFloat {
return 44//approximate cell height
}
Главное - правильно установить ограничения в конструкторе интерфейсов. И помните, что ограничения не изменят высоту ячейки на компоновщике, возможно, вам придется сделать это самостоятельно в инспекторе размеров. В любом случае, если вы этого не сделаете - размер будет изменен во время сборки.