Seguimiento automático de rasgos
En iOS 18, UIKit introduce un seguimiento automático de rasgos, lo que elimina la necesidad de registrar manualmente notificaciones de cambios de rasgos en los métodos de actualización de diseño. Esta característica está soportada en varios métodos de vistas y controladores de vistas, incluyendo layoutSubviews, updatesConstraints y draw de UIView, así como viewWillLayoutSubviews y updateViewConstraints de UIViewController. Cuando UIKit llama a uno de estos métodos, registra qué rasgos se acceden y automáticamente invalida la vista cuando esos rasgos cambian. Esto se hace utilizando métodos como setNeedsLayout, setNeedsUpdateConstraints, setNeedsDisplay o setNeedsUpdateConfiguration. Por ejemplo, en una subclase de UIView que sobreescribe draw, acceder al rasgo preferredContentSizeCategory desencadenará una llamada automática a setNeedsDisplay cuando el rasgo cambie. Anteriormente a iOS 18, los desarrolladores tenían que registrar manualmente los cambios de rasgos y llamar a setNeedsDisplay para desencadenar una nueva llamada a draw. Sin embargo, con el seguimiento automático de rasgos, este proceso ahora es manejado por UIKit. Esta característica simplifica el proceso de responder a cambios de rasgos y reduce la cantidad de código necesaria. El seguimiento automático de rasgos es una mejora significativa en iOS 18, lo que facilita a los desarrolladores crear interfaces de usuario adaptables y responsivas.