Удаление элементов заполнения bewteen в HStack

#xcode #swiftui

#xcode #swiftui

Вопрос:

Я пытаюсь определить вложенное представление, состоящее из трех кнопок, каждая из которых находится внутри закругленного прямоугольника. Первая кнопка имеет фиксированную ширину, остальные две кнопки должны иметь общую ширину. Это то, что я получаю: введите описание изображения здесь

Вы можете видеть, что между кнопками есть некоторые отступы, и хотя две кнопки большего размера имеют правильный размер, отступ делает все это слишком широким.

Вот мой код SwiftUI:

 struct TopBarView: View {
var body: some View {
    GeometryReader { geometry in
        HStack {
            ZStack {
                RoundedRectangle(cornerRadius: 8, style: .continuous )
                    .stroke()
                    
                Button(action: sideMenu) {
                    Image(systemName: "line.horizontal.3")
                }
            }.frame(width: 48, height: 48, alignment: .center)
            
            ZStack {
                RoundedRectangle(cornerRadius: 8, style: .continuous)
                    .stroke()
                
                Button(action: sideMenu) {
                    Text( "First")
                }
            }.frame(width: (geometry.size.width - 48)/2, height: 48)
            
            ZStack {
                RoundedRectangle(cornerRadius: 8, style: .continuous)
                    .stroke()
    
                Button(action: sideMenu) {
                    Text( "Second")
                }
            }.frame(width: (geometry.size.width - 48)/2, height: 48)
        }
    }
}

func sideMenu() -> Void {
    
}
  

}

Итак, мой вопрос — как правильно убрать зазор между кнопками, чтобы все соответствовало?

Ответ №1:

Вы можете передать spacing параметр HStack , чтобы удалить интервал следующим образом:

 HStack(spacing: 0) { 
    //some content
}
  

Комментарии:

1. Спасибо — это приз за самый быстрый ответ!

2. @Kenny хаха, добро пожаловать! Не стесняйтесь принять ответ или проголосовать за него, если он вам помог.