ContentView.swift 파일을 눌러보면 Preview 가 생김
Preview가 보이지 않는다면,
Xcode의 상단 맥 메뉴바에서 Editor -> Canvas 를 클릭해서 활성화
미리보기에서 커멘드키를 누른상태에서 클릭하게 되면 인스팩터가 팝오버되거나 옆에 뜸, 인스팩터를 통해 간단하게 설정을 바꿔줄수 있음
커맨트키를 누른상태에서 클릭해도 표시되지 않는다면 미리보기 하단에 selectable(마우스표시)로 선택되어 있는지 확인
Embed in VStack
or Embed in HStack
을 눌러서 정렬 가능Spacer()
를 사용하여 사이에 공간을 둘 수 있음struct ContentView: View {
var body: some View {
VStack { // 이런식으로 V or H Stack이라고 적고 중괄호로 감싸도 됨
Text("Turtle Rock")
.font(.title)
Spacer()
Text("Joshua Tree National Park")
}
}
}
Image()
라는 이니셜라이저를 사용하고, 파일명 입력.ClipShape(Circle())
은 border-radius 를 지정하는 느낌.overlay { Circle().stroke(.gray, lineWidth: 4} }
border 지정 하는 방법, .gray
는 색상이고, lienWidth
는 보더 두께shadow(radius:7)
은 그림자 지정import SwiftUI
import MapKit // 상단에 사용할 라이브러리를 import
struct MapView: View {
@State private var region = MKCoordinateRegion( // 지도에 대한 위치 정보를 가지고 있을 변수 생성
center: CLLocationCoordinate2D(latitude: 34.011_286, longitude: -116.166_868),
span: MKCoordinateSpan(latitudeDelta: 0.2, longitudeDelta: 0.2)
)
var body: some View {
Map(coordinateRegion: $region) // 지도에 지역 바인딩
}
}
struct MapView_Previews: PreviewProvider {
static var previews: some View {
MapView()
}
}
이렇게 만들고 나서, 다른 파일에서 MapView() 로 부르면 사용 가능
ios 는 노치 부분 때문에 SafeArea라는 구역이 있음
SafeArea 는 노치를 제외한 실질적으로 보이는 View 구역인데,
지도를 구현하면서, 가장자리 부분을 보지는 않기 때문에 노치 부분을 채워주고 싶음
SafeArea 피해가기
.ignoresSafeArea
적용
// ex)
MapView()
.ignoresSafeArea(edges: .top)
HStack { // font 똑같은게 반복됨
Text("Joshua Tree National Park")
.font(.subheadline)
Spacer()
Text("California")
.font(.subheadline)
}
// 수정
HStack {
Text("Joshua Tree National Park")
Spacer()
Text("California")
}
.font(.subheadline)