SwiftUI 기초: Spacer, Padding, Frame 사용 방법

지난 포스팅에서는 SwiftUI의 기본 스택인 VStack, HStack, ZStack에 대해 알아봤다. 이러한 스택과 함께 자주 사용되는 세 가지 중요한 레이아웃 도구인 Spacer, Padding, Frame에 대해 자세히 알아보겠다. Spacer 사용하기 Spacer는 사용 가능한 공간을 모두 채우는 특별한 뷰다. 뷰 사이에 유연한 공간을 만들거나 특정 뷰를 화면의 한쪽으로 밀어내는 데 사용된다. Spacer의 기본 원리 Spacer는 자신이 속한 스택 … Read more

SwiftUI 기초: VStack, HStack, ZStack

SwiftUI에서 UI 요소들을 정렬하고 배치하는 방법을 알아보는 것은 앱 개발의 가장 기본적인 단계다. 오늘은 SwiftUI에서 제공하는 세 가지 기본 스택 뷰 – VStack, HStack, ZStack의 사용법에 대해 알아보겠다. 스택이란? 스택(Stack)은 SwiftUI에서 여러 뷰를 그룹화하고 정렬하는 데 사용되는 컨테이너 뷰다. 각 스택은 방향에 따라 뷰를 정렬하는 방식이 다르다. VStack, HStack, ZStack 사용하는 방법 VStack 사용하기 VStack은 … Read more

SwiftUI NavigationSplitView 사용법

iPad나 Mac과 같은 넓은 화면에서 멀티컬럼 인터페이스를 구현할 때 NavigationSplitView는 정말 유용하다. iOS 16부터 Swift에 도입된 이 뷰는 기존의 NavigationView를 대체하면서 더 강력한 기능을 제공한다. SwiftUI에서 NavigationSplitView를 어떻게 효과적으로 사용할 수 있는지 살펴보자. SwiftUI NavigationSplitView 사용법 NavigationSplitView의 기본 구조 NavigationSplitView는 최대 3개의 영역으로 구성된다: 아이패드나 맥에서는 이 세 영역이 한 화면에 모두 표시될 수 있지만, … Read more

SwiftUI macOS 타이틀바 제거하기

iOS와 macOS를 모두 지원하는 멀티플랫폼 앱을 만들 때 SwiftUI는 아주 유용하다. 그런데 SwiftUI를 사용한다고 해서 모든 플랫폼에 다 깔끔하게 디자인이 적용되는건 아니다. macOS에서는 해당 앱에 대한 타이틀 자동으로 생성된다. 아이폰과 맥에서 다른거야 당연한 느낌인데, 비슷한 사이즈로 보이는 아이패드와 맥 모두에서 비슷한 사용자 경험을 주기위해서 타이틀바를 제거하고 싶은 경우가 있다. 타이틀만 제거하고 싶을 수도 있고, 타이틀 … Read more

SwiftUI 제스처가 동작하지 않는 문제 해결 방법

SwiftUI를 사용해서 앱을 만들 때, .onTapGesture(), .gesture() 등 기본적인 제스처들을 통해 다양한 사용자 상호작용을 구현할 수 있다. 버튼 요소도 많이 쓰이지만, 제스처 속성도 상당히 많이 쓰이는 코드 중에 하나다. 보통 제스처를 통해 한 번 탭 했을 때의 동작을 정의한다던가. 아래와 같이 길게 화면의 요소를 탭 했을 때의 동작을 정의한다. 우선 간단하게 SwiftUI에서 .gesture()의 코드를 사용하는 … Read more