Как игнорировать заполнение родительского представления SwiftUI

У меня есть VStack с несколькими дочерними представлениями (тот, что с синим фоном). VStack имеет горизонтальное заполнение. Я хочу, чтобы этот набор отступов был установлен для каждого дочернего элемента, но иногда у меня есть исключение, когда я хочу, чтобы этот дочерний элемент полностью достигал краев дисплея (две серые линии над кнопкой «Оформить заказ»). Есть ли способ, как позволить этому случиться? Я не хочу устанавливать отступы для каждого ребенка отдельно.

Как игнорировать заполнение родительского представления SwiftUI

Дети всегда следуют отступам родителей. попробуйте переместить свою линию на тот же уровень, что и ваш vstack. например, VStack {VStack {элементы} Divider() VStack {checkoutButton}}

Quang Hà 11.01.2023 01:11
Конечные и Readonly классы в PHP
Конечные и Readonly классы в PHP
В прошлом, когда вы не хотели, чтобы другие классы расширяли определенный класс, вы могли пометить его как final.
От React к React Native: Руководство для начинающих по разработке мобильных приложений с использованием React
От React к React Native: Руководство для начинающих по разработке мобильных приложений с использованием React
Если вы уже умеете работать с React, создание мобильных приложений для iOS и Android - это новое приключение, в котором вы сможете применить свои...
БЭМ: Конвенция об именовании CSS
БЭМ: Конвенция об именовании CSS
Я часто вижу беспорядочный код CSS, особенно если проект большой. Кроме того, я совершал эту ошибку в профессиональных или личных проектах и...
Революционная веб-разработка ServiceNow
Революционная веб-разработка ServiceNow
В быстро развивающемся мире веб-разработки ServiceNow для достижения успеха крайне важно оставаться на вершине последних тенденций и технологий. По...
Как добавить SEO(Search Engine Optimization) в наше веб-приложение и как это работает?
Как добавить SEO(Search Engine Optimization) в наше веб-приложение и как это работает?
Заголовок веб-страницы играет наиболее важную роль в SEO, он помогает поисковой системе понять, о чем ваш сайт.
Конфигурация Jest в angular
Конфигурация Jest в angular
В этой статье я рассказываю обо всех необходимых шагах, которые нужно выполнить при настройке jest в angular.
2
1
81
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Вы можете применить отрицательный отступ к представлению, которое вы применили к VStack, это означает, что вы применили отступ в 16 точек к VStack, например, как это .padding(16) для всех направлений, что является значением по умолчанию. затем вы можете применить .padding(.horizontal,-16) к линиям, и они растянутся до конца экрана

Вот пример кода и снимок экрана для желаемого поведения.

struct VStackPadding: View {
    var body: some View {
        VStack{
            RoundedRectangle(cornerRadius: 4)
                .frame(width: .infinity,height: 3)
                .padding(.horizontal, -16)
                .padding(.bottom,16)
            
            RoundedRectangle(cornerRadius: 4)
                .frame(width: .infinity,height: 3)
        }.padding(16)
    }
}

Другие вопросы по теме