solo plus desactivar brillo baja automatico ios rotation key-value-observing

ios - plus - Cómo detectar cuando el ajuste automático cambia los límites de la vista



desactivar brillo automatico ios 12 (2)

Resultó que en el archivo del constructor de interfaz la tabla había perdido su salida de referencia como la vista de tableViewController. ¡Agregar esto resolvió el problema!

Tengo un UITableViewController personalizado que detecta cuándo cambian los límites de la vista y lo usa para actualizar el número de miniaturas mostradas por tableviewcell. Sin embargo, cuando incrusto tableView dentro de otra vista los límites no cambian, aunque puedo confirmar visualmente que cambia el tamaño.

Uso KVO para detectar cuándo cambian los límites de la vista. Desde el interior del método viewDidLoad de TableViewController personalizado:

[self.view addObserver:self forKeyPath:@"frame" options:0 context:nil];

Si hago de mi tableViewController el controlador de vista raíz para la aplicación y gire el iPad, los límites se actualizan con cada rotación, y todo funciona perfectamente.

Sin embargo, con mi vista de tabla incrustada en la punta de otro controlador de vista, los límites nunca se actualizan, ni tampoco el marco. A pesar de eso, puedo ver que la tabla en sí está cambiando de tamaño correctamente al girar dentro y fuera del modo horizontal, por lo que en algún lugar de la aplicación los marcos / límites reales están cambiando y simplemente no se informan. ¿Alguna idea de cómo puedo acceder a lo que realmente está sucediendo?


Una mejor solución que KVO sería implementar viewDidLayoutSubviews en su controlador de vista. Esto se llama en todos los cambios de límites, una vez que se completa el diseño.