No se puede desplazar hasta la parte inferior de UITableView

Sé que hay muchas respuestas de la pregunta en el foro, pero no me ayudaron. Aquí está mi problema.

Tengo UITableView con UISegmentedControl . En un segmento, hay less datos que en el otro. Después de la rotation o el interruptor de segmento, invoco a reloadData para garantizar que se muestren los datos completos. Eso funciona.

Ahora, el usuario hace clic en una celda y va a otra vista usando el mismo UISegmentedControl . Se pretende que se use el mismo control, quiero que ambas vistas muestren la misma perspectiva a los datos. El problema aparece cuando el usuario ve la perspectiva con less datos en la primera pantalla, pasa al segundo y cambia la perspectiva a los datos allí. Luego regresa y no puede desplazarse hasta el final de la tabla. Si gira la pantalla o cambia el segmento, todo vuelve a estar bien.

Traté de resolver el problema implementando viewWillAppear: y networkinguciendo / calculando allí la altura de tableView . Desafortunadamente, no funcionó. Invocar reloadData tampoco ayuda. En realidad, el tableView ya está recargado al cambiar el segmento … Pero aún así, no puedo ver las últimas celdas de la tabla.

¿Algunas ideas?

EDITAR:

Aquí están las alturas que obtengo de las testings (sin cambiar el tamaño):

NSLog(@"Before switch: %f, %f", self.tableView.frame.size.height, self.tableView.contentSize.height); -> Antes del cambio: 372.000000, 471.000000

NSLog(@"After switch: %f, %f", self.tableView.frame.size.height, self.tableView.contentSize.height); -> Después del cambio: 372.000000, 585.000000

El tableView sigue siendo el mismo, solo el contentSize aumenta. Intenté establecer el valor del uno para el valor del otro, networkinguciendo los valores, etc. pero no sé realmente qué hacer …

EDIT2:

Todos los valores contentSize y height parecen estar bien. Sin embargo, me di count de que el problema está de alguna manera relacionado con la vista del encabezado personalizado en la pantalla. Cuando lo elimino de la vista de tabla, se desplaza hasta el final. Sin embargo, con la vista de encabezado no funciona. No cambio nada desde la vista del encabezado, solo es una vista con botones en la parte superior de la tabla.

Esto se debe a que la altura de su marco de tableView está excediendo el área visible. Disminuya la altura del marco de tableView para que esté dentro del área visible. Veras todo

 tableView.contentSize = CGSizeMake(widthYouWant, heightYouWant); 

Después de algunas horas de experimentos, incrementé la propiedad tableView de tableView por uno y ahora todo funciona bien. No tengo idea de por qué funciona, pero es una solución. Por cierto, al disminuir la propiedad por uno, se obtiene el mismo resultado. En ambos casos, la tabla se muestra correctamente.