본문 바로가기

iOS/SwiftUI

(3)
SwiftUI - TabView 내부 컨텐츠의 OffsetX 구하기 SwiftUI TabView를 사용하는 뷰에서 내부 컨텐츠들의 개별 offsetX를 탭뷰 기준으로 구하고 싶다. 원하는 것은 탭뷰의 좌측 상단으로 부터 컨텐츠가 얼마나 이동했는가 이다. GeometryReader 추가 전 예제 코드좌우 패딩 20을 갖는 간단한 탭뷰 코드struct TabViewCoordinateSpaceExample: View { @State private var selection: Int = 0 private let tabs: [Color] = [ .red.opacity(0.2), .blue.opacity(0.2), .green.opacity(0.2), .brown.opacity(0.2), .yellow.opacity(0.2), .cyan.opacity(0.2) ] var body: ..
SwiftUI - GeometryReader, CoordinateSpace GeometryReaderhttps://developer.apple.com/documentation/swiftui/geometryreader GeometryReader | Apple Developer DocumentationA container view that defines its content as a function of its own size and coordinate space.developer.apple.com GeometryReader는 자신의 크기와 좌표 공간을 함수로 사용여 컨텐츠를 정의하는 컨테이너 뷰다. 이를 통해 자신이 배치된 부모 뷰의 크기와 좌표 공간에 대한 정보를 얻을 수 있고,이 정보를 기반으로 레이아웃을 동적으로 정의할 수 있다. import SwiftUIstruct Con..
SwiftUI 뷰가 다시 그려지는 조건 탐구 (Redraw) SwiftUI로 프로젝트를 진행하던 도중, Redraw 조건을 명확하게 인지하지 못하고 있어 애먹은 일이 있었습니다. 그래서 뷰가 다시 그려지는 조건에 대해서 확인해보고자 합니다.PART 1. WWDC - Demystify SwiftUI WWDC - Demystify SwiftUI를 통해 몇 가지 사실을 알 수 있었습니다.1. Identity1-1. View는 Identitiy를 갖는다. SwiftUI는 이 Identity로 서로 다른 뷰들을 구분한다. 당연하게도 같은 Identity를 가지면 같은 View이다.1-2. Identity는 Structural과 Explict으로 구분된다.Explicit은 직접 명시해줄 수 있는 Identity이다. - modifier로 직접 부여하는 값 - ForEach에..