SwiftUI/SwiftUI Study 3

[SwiftUI] button padding?

이것은 버튼 패딩 뿐만이 아니라 모든 padding에 적용되는 것 같다. 버튼에 관련된 글을 작성하다가. 아래와 같이 버튼이 아주 이상해지는 상황이 발생했다!! 나는 아래를 자른적이 없는데 잘려버리는 상황이 발생했다. 도대체 뭘까? 궁금해하다가 문득 백그라운드 색을 씌워보기로 했다. 귀여운 알약이 등장... 아하 padding(.bottom) 을 했는데 padding을 건 모든 뷰 자체가 corner radius가 걸리는 구나 라는 걸 알았다. 그래서 이번에는 padding()으로 모든곳에 padding을 걸어 준 후, background를 적용해봤다. 물론 padding 부분은 버튼이 아니지만 이런 재미있는 버튼도 연출이 가능하다. 뭐 크게 쓸모는 없는듯. 어자피 버튼은 중간이라 의미 없을 것 같다. ..

[SwiftUI] GeometryReader를 사용했을 때 중앙에 배치하는 방법

문제점 발견 아래와 같이 GeometryReader를 사용하여 VStack안의 모든 내용들을 frame을 나눴을 때 좌표 (0, 0)에 위치해 버리는 문제가 발생한다. import SwiftUI struct ContentView: View { var body: some View { GeometryReader { geometry in VStack{...} } } 아래와 같이 왼쪽으로 하고 싶었던 뷰가 오른쪽처럼 왼쪽 위쪽에 붙어버린다! 왜 이럴까? 왜냐하면 iOS의 View 계층 구조에서 좌측 상단이 기준이기 때문이다. iOS에서 View의 위치는 좌측 상단에서 시작하여 오른쪽으로 갈수록 x좌표가 증가하고, 아래로 갈수록 y좌표가 증가하는 방식으로 정의된다. 흠 어쨌든, GeometryReader를 쓰면 ..

[SwiftUI] TabView 연습과 오류?

이것에 대한 고민이 많았어서 이렇게 글을 남긴다. 나는 탭뷰를 연습해보고 있었다. import SwiftUI struct ContentView: View { var body: some View { VStack{ TabView{ FirstPage() Text("2") Text("3") Text("4") } .tabViewStyle(.page) .indexViewStyle(.page(backgroundDisplayMode: .always)) } } } 위와 같이 PageView같이 형성된다. 나는 여기에 앞뒤로 가는 버튼을 추가해서 좀더 직관적으로 만들고 싶었다. 그래서 추가해봤다. import SwiftUI struct ContentView: View { @State private var page = 0 ..