Сократите объем кода, создав многоразовое представление контейнера
View Builder
@ViewBuilder
- это конструктор функций, который строит представления из замыканий. Он позволяет передавать несколько представлений в определенное представление. С @ViewBuilder
вы можете настроить свои постоянные элементы и модификаторы в приложении, а затем только добавить к нему непостоянный контент.
В приведенном ниже примере мы создаем контейнер типа View
, который принимает некоторое содержимое типа View
. Внутри переменной body вы можете видеть, что мы добавили модификаторы к переменной содержимого. Модификаторы будут применяться ко всему контенту, который вы передадите в это представление контейнера.
Внутри ContentView
мы можем добавить наш контейнер. Вы можете добавить в этот контейнер нужные вам элементы пользовательского интерфейса.
Теперь вы можете использовать созданный вами контейнер со всем содержимым, имеющим похожие модификаторы.
Пример
В приведенном ниже примере я создал контейнер, который использует прямоугольник с закругленными углами в качестве фона для нашего контента. Под контентом у меня две кнопки. Обратите внимание на модификаторы, которые будут применены к переменной содержимого. Контент имеет модификатор шрифта размером 20, синий цвет переднего плана и отступы со всех сторон.
Чтобы переопределить модификаторы, вам нужно добавить модификаторы к содержимому внутри замыкания со значениями, которые вы хотите, чтобы они имели. Ознакомьтесь с приведенными ниже фрагментами кода, которые показывают, как представление Container
используется в нашем ContentView
.