tenía una vista de tabla de desplazamiento dentro de la vista y tuvo que calcular la altura de tableView y cambiar su tamaño en consecuencia. Esos son los pasos que he tomado:
0) agrego un UIView a su scrollView (probablemente funcione sin este paso pero lo hice para evitar cualquier posible conflicto) - esta será una vista de contenedor para su vista de tabla. Si sigue este paso, establezca las fronteras de las vistas a la derecha de las vistas de tabla.
1) crear una subclase 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) clase conjunto de una vista de tabla en Storyboard a IntrinsicTableView: captura de pantalla: http://joxi.ru/a2XEENpsyBWq0A
3) Establecer el heightConstraint a su vista de tabla
4) arrastre el IBoutlet de su tabla hacia su ViewController
5) arrastre el IBoutlet de la restricción de altura de su tabla a su ViewController
6) añadir este método en su ViewController:
override func viewWillLayoutSubviews() {
super.updateViewConstraints()
self.yourTableViewsHeightConstraint?.constant = self.yourTableView.intrinsicContentSize.height
}
Esperanza esto ayuda
Para cualquiera que desee hacer algo similar en OSX, consulte esta pregunta: http://stackoverflow.com/questions/11322139/get-height-of-content-in -nstableview –
@MiMo hola, ¿puede explicar qué pasa con el enfoque "sizeToFit", por favor? :) – iamdavidlam
_ "Me gustaría encontrar una solución" sizeToFit "alrededor de" _. Entonces, ¿has probado o no has probado el método '- sizeToFit' de UIView? –