[Swift] UITableViewAutomaticDimension 안됨

김혜수·2022년 1월 30일
0

iOS를 개발하면서..

목록 보기
3/20

mvvm 연습을 하다가 마주한 문제이다.

문제점


일단 셀은 이렇게 생겼고, 위의 Label도 데이터의 길이에 따라 두줄이 될 수도 있고 한 줄이 될 수도 있는 상황
아래 Label도 길이에 따라 줄 수가 달라지는 상황

TableView Automatic Dimension을 사용해서 동적으로 셀의 높이를 지정해주기 위해서는 아래 Label의 bottomConstraint도 잡아줘야 함

하지만 잡으면 Layout에 빨간줄이 뜸 (위에 있는 라벨의 높이를 지정해주지 않았기 때문에)
-> 그렇지만 위에있는 Label의 높이를 잡으면 두줄이 되고 세 줄이 될때 그 줄수 만큼 늘어나지지 않음 (높이가 고정되기 때문)

해결방안

위의 Label의 Label height Constraint를 잡되, priority를 250으로 낮춘다.

그리고 tableview의 height에 다음과 같은 코드를 적어주면 된다!

func tableView(_ tableView: UITableView, heightForRowAt indexPath: IndexPath) -> CGFloat {      
	return UITableView.automaticDimension
}

profile
iOS를 좋아하는 사람

0개의 댓글