본문 바로가기
Swift 개발 이야기

AutoLayout Debugging in UITableViewCell

by 방화동한량 2020. 4. 17.
728x90

안녕하세요 여러분ㄴ

 

오늘도 간단한 주제를 가져왔읍니다

 

많은 iOS 개발자들이 즐겨 사용하시는 오토레이아웃에서 발생하는 오류? 를 해결하는 방법인데여

 

사실 잘 돌아가고 그림도 잘 그려지는데 이상한 로그가 찍히는 경우가 겁나 많았죠?

 

저도 뭐 급하고 할땐 잘 그려지니까 넘어가자; 하고 넘어갔는데

 

돌이켜 생각해보니 조금 분하고 그래서 디버깅을 좀 해봤읍니다

 

아주 간단한 셀을 만들어봤는데여

 

오토레이아웃도 아주 간단하게 이미지의 높이를 160으로 지정해주고, aspect Ratio 1:1, Top 10, CenterY 를 맞췄습니다.

 

 

그리고 UITableView.AutomaticDimension 으로 자동 높이 계산을 때려주면 당연히 180이 나올 줄 알았는데요..웬걸 180.333 이따구로 나오면서 디버깅 메시지가 뜹니다..

 

 

보니까 셀컨텐츠의 높이는 180.333 인데,

 

우리가 강제로 지정해준 높이는 160 이고 탑의 10의 마진을 준 이후 센터를 맞췄으니 180이 나오니 안된다는 겁니다.. AutomaticDimension 의 우선순위가 더 높기 때문에 나오는거 같습니다만,,,

이럴때는 침착하시고 높이의 priority 를 999로 주시면 됩니다...

 

참 쉽죠?

 

다음에는 더 하찮고 간단한 주제로 찾아 뵙도록 하겠습ㄴ다

 

그럼 안녕~~

 

한줄 요약: 디버깅 시 충돌되는 부분이 생기면 Priority 를 조정해봅시다.