Создайте свой собственный модификатор для многократного повторного использования
Обычно мы используем встроенные модификаторы с представлениями в SwiftUI, чтобы создать другую версию исходного представления. Иногда проще создать группу модификаторов как один пользовательский модификатор для повторного использования в разных представлениях. Сегодня вы узнаете, как создать и применить группу стилей с помощью ViewModifiers.
Когда я изучаю новые приемы программирования, я всегда стараюсь привести простой пример, который легко запомнить. Поэтому в этом случае я создам пользовательский модификатор с именем redHeadline
, который будет использовать два встроенных модификатора foregroundColor
и font
для создания красного текста заголовка, который мы можем использовать с любыми представлениями.
Вот правила:
- Чтобы создать пользовательский модификатор, вы должны соответствовать протоколу
ViewModifier
- Вы должны реализовать функцию
body
, которая вернетsome View
- Затем примените встроенные модификаторы в группу
- Используя
modifier
, вы можете добавить этот модификатор с любым представлением - Используя
extension
, вы можете упростить процесс
Итак, вот код:
Вот результат, в данном случае я использую Playground:
Видите ли, используя extension
, вы добавляете новую функцию redHeadline
, которая в основном использует функцию modifier
для применения пользовательского модификатора с именем MyModifier.
.
Теперь, какой бы текст вы ни использовали в своем приложении, просто используйте .redHeadline()
, он покажет текст в красном цвете и формате заголовка.
Это действительно очень простой код для запоминания, но с помощью ViewModifer
вы можете повторно использовать множество пользовательских решений в своем проекте на основе SwiftUI.