본문 바로가기

iOS 앱 개발자 프로젝트/개인 프로젝트

[iOS] 메모 앱 만들기 Day-8 (WTF Auto Layout)

Unable to simultaneously satisfy constraints.
Probably at least one of the constraints in the following list is one you don’t want.
Try this:
(1) look at each constraint and try to figure out which you don’t expect;
(2) find the code that added the unwanted constraint or constraints and fix it.

 

 

여러 view 사이의 constraint끼리 충돌해서 생긴 오류가 났다. 절대적인 좌표계를 사용하는 건 화면의 정해진 사이즈를 알고 있다고 가정하는 것인데 내가 그린 화면이 여러 사이즈의 환경에서 충돌없이 구현되는.. 그 마법이 바로 "auto layout". 다시 말해, UIView의 frame이 runtime 동안 계산되면서 실시간 사용되는 스크린 사이즈를 고려하여 결정할 수 있도록 해주는 것이 "autolayout" 이다.

 

( 이를 제대로 이해하기 위해서는 Alignment Rectangles를 이해해야 하는데 이것은 내일 깊이있게 공부하기로.. )

 

나의 경우는 storyboard에서 constraint 지정을 했다가 코드로 다시 수정을 해서 그 두개가 충돌하거나, storyboard에서 실수로 타겟 뷰가 잘못 지정돼서 오류가 난 것 같다.

 

이럴 때 아래 링크로 들어가서 constrain 오류 log를 넣으면 어떤 이슈이고 어떤 해결책이 있는 지 방향을 제시해 준다. 

 

Why The Failure, Auto Layout

 

WTF의 도움으로 우여곡절 끝에 아래와 같이 제약이 충족된 화면 레이아웃 구성 완료!  짜잔!