【SwiftUI】左右非対称のものをセンターで分ける

SwiftUIでHStackを使い、同じ四角形を横に3つ配置したら、

struct ContentView: View {
var body: some View {
VStack{
HStack {
ChildView()
ChildView()
ChildView()
}
HStack {
ChildView()
ChildView()
ChildView()
}
}
}
}
struct ChildView: View {
var body: some View {
Rectangle().fill(Color.blue)
.frame(height: 100)
}
}

↓こちらのように、等間隔で3つ並びます。

しかし、どうしても左右で非対称に配置したい、だけど中央で分けたいという時は、

ダミーのビューを1つかますと、いいかもしれません。

import SwiftUI
struct ContentView : View {
var body: some View {
VStack{
HStack {
ChildView()
DummyView()
}
HStack {
DummyView()
ChildView()
}
}
}
}
struct DummyView: View {
var body: some View {
HStack {
ChildView()
ChildView()
}
}
}
struct ChildView: View {
var body: some View {
Rectangle().fill(Color.blue)
.frame(height: 100)
}
}

すると、↓こんな感じで配置できます。

返信を残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

CAPTCHA