본문 바로가기
iOS Swift/Xcode

[UITableView Row Height]과 [UITableViewCell Row Height] 차이점 실험

by 야고이 2024. 4. 3.
728x90

240403

 

이건 그냥 기록! 답이 있는건 아님

UITableView의 Row Height:
UITableView의 row height는 테이블 뷰 전체의 각 행(row)의 높이를 결정합니다.이것은 UITableViewDelegate 프로토콜의 func tableView(_ tableView: UITableView, heightForRowAt indexPath: IndexPath) -> CGFloat 메서드를 사용하여 지정할 수 있습니다. 이 메서드는 각 indexPath에 해당하는 행의 높이를 반환합니다.또는 UITableView의 rowHeight 속성을 설정하여 모든 행의 높이를 동일하게 지정할 수도 있습니다.
UITableViewCell의 Row Height:
UITableViewCell의 row height는 특정 행(row)에 속하는 개별 셀의 높이를 결정합니다.UITableViewCell의 인스턴스를 만들 때 height 속성을 설정하여 개별 셀의 높이를 지정할 수 있습니다.UITableViewCell의 하위 클래스를 만들어 custom cell을 사용할 경우, 셀의 내용에 따라 자동으로 높이를 조정하거나, 동적으로 높이를 계산할 수 있습니다. 이는 UITableViewCell의 sizeThatFits(_:) 메서드를 사용하거나, Auto Layout을 사용하여 셀의 높이를 조정합니다.

 

요약하면, UITableView의 row height은 테이블 뷰의 각 행(row)의 높이를 지정하는 것이고, UITableViewCell의 row height은 특정 셀의 높이를 지정하는 것입니다.

 

아아 너무 어려운 오토레이아웃 ㅠㅠ 몇가지 실험 해봄

지피티한테 물어봐도 차이를 잘 모르겠다

 

우선 테이블뷰와 테이블뷰셀이 둘다 row hieght 을 줄 수 있다는 것부터 시작,,,

원래는 테이블뷰셀에만 값을 넣어줬었는데 

테이블뷰에도 넣을 수 있다는 걸 알게 됨

테이블뷰 row hieght 은 설정을 안하면 Automatic 으로 되어 있다

처음에는 테이블뷰셀의 row height 값을 100으로 주어도 위에 첨부한 사진처럼 이미지가 너무 크게 나와서 

이미지뷰의 width 값을 80으로 설정해줬다

내 생각엔 위아래 10씩 주고 테이블뷰셀의 값을 100으로 줬으면 알아서 이미지 크기가 설정 될 줄 알았는데 안됨

 

 

처음 설정 값
테이블뷰 Row Height : 설정안함
테이블뷰셀 Row Height : 100 
이미지뷰 : width 80

이렇게 설정했더니 원하는 크기로 나오긴 함

다른 설정을 다빼고 테이블뷰의 row height 값만 설정하니까 알아서 높이 80만큼의 이미지가 설정 되었다

 

왜 이렇게 되는지는 잘 모르겠는데 ,, 기종마다 크기가 자유롭게 변경 되려면 어떤걸 설정해야하는 걸까,,,

728x90

댓글