본문 바로가기

iOS/SwiftUI

[SwiftUI] Modifier에 대해 알아보자!

반응형

Modifier란?

컴포넌트들의 속성을 바꿀 수 있습니다.
쉽게 말해서 옵션이나 설정 값들을 변경할 수 있습니다.

예를들어, Text의 font를 정해줄 때 다음과 같이 사용합니다.

image


여기서 사용된 .fontmodifier 입니다.

.font를 한 번 살펴보겠습니다.

image


Text를 받아서 Text를 리턴해주고 있네요.

즉, 기존 Text에서 속성을 변경한 Text를 리턴해주고 있습니다.
또한 modifier순서대로 진행되며, 컴포넌트들의 타입별로 다르기 때문에 순서에 주의해야합니다.

순서 주의

Text에서 View로 리턴하는 modifier를 사용한다면
이제 타입이 Text에서 View로 변경되었기 때문에 Text를 받는 modifier는 사용할 수 없습니다.

다른 타입에서도 마찬가지 입니다.
다음과 같은 Image를 만든다고 가정해봅시다.

xmark 이미지이고 renderingMode는 original이며 contentMode는 fit

다음과 같이 작성할 수 있겠죠?

image

다음과 같이 작성하면 오류가 나게됩니다.

image


왜 그럴까요?

aspectRatio는 View를 리턴하는데,
renderingModeImageModifier이기 때문에 View에는 renderingMode가 없기 때문입니다.

따라서 modifier를 사용해 속성을 변경할 때, 순서에 주의해야합니다.

반응형