🕌
[随時更新] SwiftUIでのみ役立つTips
紹介しないTips
明らかにわかる不審な挙動、バグ対策は紹介しません。
レイアウト関するTipsも紹介しません。
紹介しない例
問題: SwiftUI.List
内のセルにButton
を2つ以上置いた際に、タップ判定が取られてしまう。
対策: buttonStyleを設定する
ImageはTextにインライン化できる
Text("Hello \(Image(systemName: "heart"))!")
Viewの高さを揃える(Image)
SwiftUI.Image
をTextにインライン化することでViewの高さを揃えることができる
下の画像: 左のプラスボタンは高さがずれてしまっている
HStack {
Button {
} label: {
Image(systemName: "plus")
}
Button("Button") {}
Button {
} label: {
Text("\(Image(systemName: "plus"))")
}
}
.padding(2)
.border(.red)
.buttonStyle(.bordered)
透明なButtonはタップできないが存在する
opacity(0)と設定するとButtonはタップできなくなります。
しかし透明なだけで場所は存在します。
VStack {
Text("Hello")
Button {
print("Hello")
} label: {
Image(systemName: "heart")
.resizable()
.frame(width: 300, height: 300)
}
.opacity(0)
.border(.red)
Text("Hello")
}
Discussion