Создайте свой собственный модификатор для многократного повторного использования

Обычно мы используем встроенные модификаторы с представлениями в SwiftUI, чтобы создать другую версию исходного представления. Иногда проще создать группу модификаторов как один пользовательский модификатор для повторного использования в разных представлениях. Сегодня вы узнаете, как создать и применить группу стилей с помощью ViewModifiers.

Когда я изучаю новые приемы программирования, я всегда стараюсь привести простой пример, который легко запомнить. Поэтому в этом случае я создам пользовательский модификатор с именем redHeadline, который будет использовать два встроенных модификатора foregroundColor и font для создания красного текста заголовка, который мы можем использовать с любыми представлениями.

Вот правила:

  • Чтобы создать пользовательский модификатор, вы должны соответствовать протоколуViewModifier
  • Вы должны реализовать функцию body, которая вернет some View
  • Затем примените встроенные модификаторы в группу
  • Используя modifier, вы можете добавить этот модификатор с любым представлением
  • Используя extension, вы можете упростить процесс

Итак, вот код:

Вот результат, в данном случае я использую Playground:

Видите ли, используя extension, вы добавляете новую функцию redHeadline, которая в основном использует функцию modifier для применения пользовательского модификатора с именем MyModifier..

Теперь, какой бы текст вы ни использовали в своем приложении, просто используйте .redHeadline(), он покажет текст в красном цвете и формате заголовка.

Это действительно очень простой код для запоминания, но с помощью ViewModifer вы можете повторно использовать множество пользовательских решений в своем проекте на основе SwiftUI.