この記事は何?
Section1「Add Hiking Data to the App」で作成するビューのコードを読んでみました。
環境
macOS 11.2.1
Xcode 12.4
Swift 5.3
HikeView
HikeViewの定義
struct HikeView: View {
var hike: Hike
@State private var showDetail = false
var body: some View {
VStack {
HStack {
HikeGraph(hike: hike, path: \.elevation)
.frame(width: 50, height: 30)
.animation(nil)
VStack(alignment: .leading) {
Text(hike.name)
.font(.headline)
Text(hike.distanceText)
}
Spacer()
Button(action: {
self.showDetail.toggle()
}) {
Image(systemName: "chevron.right.circle")
.imageScale(.large)
.rotationEffect(.degrees(showDetail ? 90 : 0))
.padding()
}
}
if showDetail {
HikeDetail(hike: hike)
}
}
}
}
状態変数showDetailの挙動
Button(action: {
self.showDetail.toggle()
}) {
...
}
if showDetail {
HikeDetail(hike: hike)
}