• 카테고리

    질문 & 답변
  • 세부 분야

    모바일 앱 개발

  • 해결 여부

    해결됨

안녕하세요.

23.02.08 10:54 작성 조회수 262

0

스크린샷 2023-02-08 오전 10.51.46.png안녕하세요. Modifier 순서에 관해 질문드려요.

사진과 같이 frame과 fill Modifier의 순서를 바꿔보았는데, 오류가 납니다.

 

도형의 크기를 먼저 바꾸고, 그 안에 색을 채워도 전혀 문제가 없으리라 생각했는데 오류가 나네요. 왜 이런 현상이 나타나는 건가요?

 

두 Modifier 모두 리턴 타입이 View인데도 오류가 나니 이유를 모르겠어요.

답변 1

답변을 작성해보세요.

1

안녕하세요. 건우 님

질문 주셔서 감사합니다. 위에 Modifier 의 순서를 변경할때 error 가 발생되는것은 Circle(),Rectangle() 은 Shape 프로토콜로서 그 고유의 값이 화면에 최대치로 커지게 되겠끔 설정되어 화면에 그리게 됩니다. 그래서 색을 먼저 채우고 frame 크기를 설정하도록 modifier 가 설정되어 있어서 error 가 발생하게 됩니다. 그래서 순서를 .fill 다음에 .frame 설정을 해줘야합니다

더 자세한 사항은 아래 참고자료를 통해 확인해주세요.

Why modifier order matters - https://www.hackingwithswift.com/books/ios-swiftui/why-modifier-order-matters#:%7E:text=Every%20time%20we%20modify%20a,up%3A%20ModifiedContent%3CModifiedContent%3C%E2%80%A6

SwiftUI why the background not cover all frames when background modifier before frame? - https://stackoverflow.com/questions/73753362/swiftui-why-the-background-not-cover-all-frames-when-background-modifier-before