iOS Apply modifiers conditionally

운영 체제: macOS Ventura 13.0
사용 버전: Xcode 14.1, SwiftUI, Swift

iOS Apply modifiers conditionally를 알아보겠습니다.

SwiftUI를 사용할 때, Modifier를 조건문에 따라 적용하려면 다음과 같이 동일한 코드가 반복되는 형식으로 만들어야 합니다.
아래는 일반적인 방법입니다.








17 번째 줄과 21 번째 줄처럼 조건문이 들어갑니다.

그리고 달라지는 것은 Text의 border 여부만 달라지는데, 동일한 Text() 코드가 두 번 들어갑니다.


modifier를 조건에 따라 적용할 수 있도록 만들면 저렇게 중복되게 적지 않아도 됩니다.



View extension을 만듭니다.







@ViewBuilder를 이용합니다. if에는 `(억음 부호)로 감쌉니다. 저 if가 .if로 사용될 겁니다.

Content는 View로 받아, 자신이 받는 View 타입을 그대로 사용한다는 뜻입니다. condition에는 조건문이 들어가고, transform에는 변형을 만들어주는 modifier 함수가 들어옵니다.



사용법은 아래와 같습니다.







19 번째 줄에 방금 만든 .if가 사용되었습니다. 클로저에서 myTextView를 사용하지 않고 $0로 사용해도 됩니다.



끝.



카테고리: iOS

댓글

이 블로그의 인기 게시물

Python urllib.parse.quote()

Python OpenCV 빈 화면 만들기

tensorflow tf.random.uniform()

Android Notification with Full Screen

KiCad 시작하기 2 (PCB 만들기)

Android Minimum touch target size

Python bs4.SoupStrainer()

KiCad 시작하기 4 (기존 회로도 수정 및 추가)

음악 총보(Score), 파트보(Part)

tensorflow tf.expand_dims()