이 글은 SwiftUI의 Button과 Label 스타일을 사용자 정의하는 방법을 설명합니다. 여기에는 컴팩트한 가로 크기 클래스에서는 세로 레이아웃으로 전환되는 적응형 레이블 스타일과 채워진 노란색 캡슐과 고정폭 글꼴 디자인을 가진 사용자 지정 캡슐 버튼 스타일이 포함됩니다. 이러한 스타일은 .labelStyle 및 .buttonStyle 수정자를 사용하여 뷰에 적용할 수 있습니다. 하지만 LabelStyle이나 ButtonStyle에 편의성 확장을 추가하는 것은 덜 일반적인데, 이를 통해 수정자를 더욱 간결하게 작성할 수 있습니다. 이를 위해 이 글에서는 Apple이 기본 스타일을 정의하는 방식과 유사하게 ButtonStyle과 LabelStyle을 확장하는 것을 제안합니다. 여기에는 사용자 지정 스타일의 인스턴스를 반환하는 정적 속성이나 함수를 확장에 추가하는 것이 포함됩니다. 예를 들어, 캡슐 버튼 스타일은 CapsuleButtonStyle 인스턴스를 반환하는 정적 속성 capsule로 확장할 수 있습니다. 이를 통해 .buttonStyle(.capsule)과 같은 간결한 형태로 스타일을 적용할 수 있습니다. 사용자 지정 스타일에 구성 가능한 색상과 같은 매개변수가 있는 경우, 매개변수를 받아 사용자 지정 스타일의 인스턴스를 반환하는 함수를 확장에 추가할 수 있습니다. 이를 통해 .buttonStyle(.capsule(.orange))과 같이 매개변수와 함께 스타일을 적용할 수 있습니다. 이 글에서는 편리한 사용자 지정 스타일을 만들기 위해 ButtonStyle과 LabelStyle을 확장하는 방법의 예시를 제공합니다.
.labelStyle및.buttonStyle수정자를 사용하여 뷰에 적용할 수 있습니다. 하지만 LabelStyle이나 ButtonStyle에 편의성 확장을 추가하는 것은 덜 일반적인데, 이를 통해 수정자를 더욱 간결하게 작성할 수 있습니다. 이를 위해 이 글에서는 Apple이 기본 스타일을 정의하는 방식과 유사하게 ButtonStyle과 LabelStyle을 확장하는 것을 제안합니다. 여기에는 사용자 지정 스타일의 인스턴스를 반환하는 정적 속성이나 함수를 확장에 추가하는 것이 포함됩니다. 예를 들어, 캡슐 버튼 스타일은CapsuleButtonStyle인스턴스를 반환하는 정적 속성capsule로 확장할 수 있습니다. 이를 통해.buttonStyle(.capsule)과 같은 간결한 형태로 스타일을 적용할 수 있습니다. 사용자 지정 스타일에 구성 가능한 색상과 같은 매개변수가 있는 경우, 매개변수를 받아 사용자 지정 스타일의 인스턴스를 반환하는 함수를 확장에 추가할 수 있습니다. 이를 통해.buttonStyle(.capsule(.orange))과 같이 매개변수와 함께 스타일을 적용할 수 있습니다. 이 글에서는 편리한 사용자 지정 스타일을 만들기 위해 ButtonStyle과 LabelStyle을 확장하는 방법의 예시를 제공합니다.