Suivi automatique des traits
Dans iOS 18, UIKit introduit la poursuite automatique des traits, qui élimine la nécessité de s'inscrire manuellement pour les notifications de changement de traits dans les méthodes de mise à jour de la disposition. Cette fonctionnalité est prise en charge dans diverses méthodes de vues et de contrôleurs de vues, y compris layoutSubviews, updatesConstraints et draw de UIView, ainsi que viewWillLayoutSubviews et updateViewConstraints de UIViewController. Lorsque UIKit appelle l'une de ces méthodes, elle note quels traits sont accédés et invalide automatiquement la vue lorsque ces traits changent. Cela est fait en utilisant des méthodes comme setNeedsLayout, setNeedsUpdateConstraints, setNeedsDisplay ou setNeedsUpdateConfiguration. Par exemple, dans une sous-classe de UIView qui remplace draw, accéder au trait preferredContentSizeCategory déclenchera un appel automatique à setNeedsDisplay lorsque le trait change. Avant iOS 18, les développeurs devaient s'inscrire manuellement pour les changements de traits et appeler setNeedsDisplay pour déclencher un nouvel appel à draw. Cependant, avec la poursuite automatique des traits, ce processus est maintenant géré par UIKit. Cette fonctionnalité simplifie le processus de réponse aux changements de traits et réduit la quantité de code nécessaire. La poursuite automatique des traits est une amélioration significative dans iOS 18, facilitant la création d'interfaces utilisateur adaptatives et réactives.