SwiftUI Стандартная якорь прок... Заметка

SwiftUI Стандартная якорь прокрутки

Статья обсуждает, как управлять вертикальным выравниванием контента внутри скролл-вью в SwiftUI, особенно при адаптации к динамическим размерам шрифта. Первоначально используется простой скролл-вью, чтобы разместить контент, который может превышать высоту экрана. Однако это приводит к тому, что контент выравнивается вверху, когда он меньше скролл-вью, что является нежелательным. iOS 17 ввела модификатор defaultScrollAnchor, но он не имеет нюансов, чтобы центрировать контент только тогда, когда он помещается внутри скролл-вью. iOS 18 решает эту проблему с помощью нового модификатора defaultScrollAnchor, который включает параметр role. Этот параметр позволяет разработчикам настраивать точку привязки для разных ситуаций, включая выравнивание контента, который меньше контейнера, используя .alignment. Установив привязку на .center для роли .alignment, контент центрируется, когда он помещается, и выравнивается вверху, когда превышает высоту контейнера. Два варианта модификатора представления можно использовать вместе, чтобы изменить значение по умолчанию и переопределить привязку для конкретных ролей. Новый модификатор обеспечивает более тонкий подход к управлению выравниванием контента скролл-вью на основе его размера относительно контейнера. Это гарантирует лучший пользовательский опыт, динамически регулируя вертикальное положение контента.
CdXz5zHNQW_YDEZMZMpGv.png