Rodhos Soft

備忘録を兼ねた技術的なメモです。Rofhos SoftではiOSアプリ開発を中心としてAndroid, Webサービス等の開発を承っております。まずはご相談下さい。

Viewの配置例

import SwiftUI

struct ContentView: View {
    @State var tapped = false
    
    var tap: some Gesture {
        TapGesture(count: 1)
        .onEnded({ _ in
            self.tapped = !self.tapped;
        })
    }
    
    var circle : some View {
        Circle()
            .fill(self.tapped ? Color.red : Color.black)
            .frame(width: 100, height: 100, alignment: .center)    }
    
    var titleText : some View {
        Text("Hello, World")
            .font(.title)
            .foregroundColor(.green)
        .gesture(tap)
    }
    
    var body: some View {
        VStack {
            MapView()
                .edgesIgnoringSafeArea(.top)  // ステータス部分まで描画
                .frame(height:300) // MapViewは横は自動で拡がる。
            CircleImage()
                .offset(y:-130)  // ここで地図にめり込ませて
                .padding(.bottom, -130) // めり込んだ分を引き上げる
            VStack {
                titleText;
                HStack {
                    Text("Joshua Tree National Park")
                        .font(.headline)
                    Spacer()
                    Text("California")
                        .font(.headline)
                }
                circle;
            }
            .padding()
            Spacer() // 一番下にバネを仕込んで上に上げる。 
        }
    }
}

struct ContentView_Previews: PreviewProvider {
    static var previews: some View {
        ContentView()
    }
}