Eu tinha uma exibição de tabela dentro da exibição de rolagem e tive que calcular a altura do tableView e redimensioná-la de acordo. Esses são os passos que eu tomei:
0) adicione um UIView ao seu scrollView (provavelmente funcionará sem esta etapa, mas eu fiz isso para evitar possíveis conflitos) - essa será uma exibição de conteúdo para sua exibição de tabela. Se você seguir esta etapa, defina as bordas das visualizações exatamente como as da visualização de tablaturas.
1) crie uma subclasse de UITableView:
class IntrinsicTableView: UITableView {
override var contentSize:CGSize {
didSet {
self.invalidateIntrinsicContentSize()
}
}
override var intrinsicContentSize: CGSize {
self.layoutIfNeeded()
return CGSize(width: UIViewNoIntrinsicMetric, height: contentSize.height)
}
}
2) defina a classe de uma exibição de tabela no Storyboard para IntrinsicTableView: captura de tela: http://joxi.ru/a2XEENpsyBWq0A
3) Defina o heightConstraint para a sua exibição de tabela
4) arraste o IBoutlet da sua tabela para o seu ViewController
5) arraste o IBoutlet da restrição de altura da sua tabela para o seu ViewController
6) adicione este método ao seu ViewController:
override func viewWillLayoutSubviews() {
super.updateViewConstraints()
self.yourTableViewsHeightConstraint?.constant = self.yourTableView.intrinsicContentSize.height
}
Espero que isto ajude