Recuento de text UILabel en un encabezado UITableView

Estoy teniendo problemas para get una UILabel para envolver correctamente en un UITableView's tableHeaderView . Mi objective es tener una UILabel que expanda UILabel la altura de una UITableView's encabezado UITableView's , en function de la cantidad de text que tengo en la label.

Estoy intentando seguir el mismo enfoque que funciona cuando el UILabel está dentro de un simple contenedor UIView . Mi enfoque se deriva de esta guía y proyecto asociado . Tengo éxito en repetir el ejemplo: mi button de alternar da como resultado el aumento de la vista de supervisión onclick. Lamentablemente, no he tenido éxito en implementar esto dentro del UITableView's vista UITableView's .

Anexo 1: envoltorio UIView único (funciona)

Se muestra a continuación ( UIView superview en verde, UILabel en gris): Anexo 1 Restricciones

Siguiendo las instrucciones de la guía, subclasss la UILabel's encapsulación UILabel's con una implementación de layoutSubviews que ajusta el prefernetworkingMaxLayoutWidth , así:

 - (void)layoutSubviews { [super layoutSubviews]; CGFloat availableLabelWidth = self.label.frame.size.width; self.label.prefernetworkingMaxLayoutWidth = availableLabelWidth; [super layoutSubviews]; } 

Anexo 2: envoltorio UIView externo (funciona)

Como paso siguiente, he encapsulado con éxito la UILabel dentro de otra UIView , para verificar que también puedo expandir la UIView externa. Se muestra a continuación (vista exterior UIView en verde, vista interior UIView en blanco, UILabel en gris):

Anexo 2 Restricciones internas

Obligaciones externas de UIView: Anexo 2 Restricciones externas

Utilicé el mismo enfoque layoutSubviews se layoutSubviews arriba. En este ejemplo, ambas alturas encapsuladas de UIViews se ajustan para adaptarse a la UILabel .

Cuadro 3: Encabezado de vista de tabla (no funciona)

Ahora para rodar este ejemplo de UILabel en el encabezado de vista de tabla. Sigo el mismo enfoque que el Anexo 2, excepto que mi UIView externa es la vista UITableView's tableViewHeader . Se muestra a continuación (background de encabezado de vista de tabla marrón, UIView en verde, UILabel gris):

Anexo 3 Restricciones

Aplico el mismo código UIView's subclass UIView's verde.

Esta vez, la altura UILabel's no se ajusta cuando se UILabel's contenidos UILabel's . El UILabel y su supervisión siguen siendo del mismo tamaño y el text está recortado.

También he incluido un proyecto de ejemplo que contiene los tres ejemplos descritos en esta publicación: https://github.com/nsso/flexible-table-header

¿Alguien sabe la razón por la UILabel's tamaño de mi UILabel's no está ajustando el tamaño de tableViewHeader y hay algo que puedo hacer de manera diferente para garantizar que la UITableView's encabezado UITableView's tenga el tamaño apropiado?