iOS Swift/Xcode
[UITableView Row Height]과 [UITableViewCell Row Height] 차이점 실험
야고이
2024. 4. 3. 11:26
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 height 값을 100으로 주어도 위에 첨부한 사진처럼 이미지가 너무 크게 나와서
이미지뷰의 width 값을 80으로 설정해줬다
내 생각엔 위아래 10씩 주고 테이블뷰셀의 값을 100으로 줬으면 알아서 이미지 크기가 설정 될 줄 알았는데 안됨
처음 설정 값
테이블뷰 Row Height : 설정안함
테이블뷰셀 Row Height : 100
이미지뷰 : width 80
이렇게 설정했더니 원하는 크기로 나오긴 함
다른 설정을 다빼고 테이블뷰의 row height 값만 설정하니까 알아서 높이 80만큼의 이미지가 설정 되었다
왜 이렇게 되는지는 잘 모르겠는데 ,, 기종마다 크기가 자유롭게 변경 되려면 어떤걸 설정해야하는 걸까,,,
728x90