Автоматическое отслеживание ха... Заметка

Автоматическое отслеживание характеристик

В iOS 18 UIKit представляет автоматическое отслеживание свойств (trait), что исключает необходимость ручной регистрации уведомлений о изменении свойств в методах обновления макета. Эта функция поддерживается в различных методах представлений и контроллеров представлений, включая методы UIView - layoutSubviews, updatesConstraints и draw, а также методы UIViewController - viewWillLayoutSubviews и updateViewConstraints. Когда UIKit вызывает один из этих методов, он отмечает, какие свойства были доступны, и автоматически отменяет представление, когда эти свойства меняются. Это делается с помощью методов, таких как setNeedsLayout, setNeedsUpdateConstraints, setNeedsDisplay или setNeedsUpdateConfiguration. Например, в подклассе UIView, который переопределяет метод draw, доступ к свойству preferredContentSizeCategory приведет к автоматическому вызову setNeedsDisplay при изменении свойства. До iOS 18 разработчикам приходилось вручную регистрировать изменения свойств и вызывать setNeedsDisplay, чтобы вызвать новый вызов метода draw. Однако с автоматическим отслеживанием свойств этот процесс теперь обрабатывается UIKit. Эта функция упрощает процесс реагирования на изменения свойств и уменьшает количество необходимого кода. Автоматическое отслеживание свойств является значительным улучшением в iOS 18, что делает его проще для разработчиков создавать адаптивные и реагирующие пользовательские интерфейсы.