Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
Tags
- 앱 백그라운드 푸시 데이터 저장
- silent push
- 플러터 뷰 컨트롤러
- 스위프트 카메라
- 안드로이드 에러
- 노티피케이션 익스텐션
- swift autolayout
- 스위프트 웹뷰
- 안드로이드 숏컷
- 푸시 데이터 저장
- 스위프트 푸시
- 스위프트 UserDefaults
- swift 문자
- 안드로이드 FCM
- FlutterView MethodChannel
- Flutter UIKitView MethodChannel
- Swift flutterviewcontroller
- flutter 회전
- flutter rotate
- 안드로이드 바로가기
- 스위프트
- 스위프트 앨범
- Flutter NativeView
- 안드로이드 앨범
- 스위프트 테이블 뷰 셀
- NotificationService Extension
- 앱 꺼졌을 때 푸시 데이터 저장
- native flutter view
- swift sms
- Swift flutterview
Archives
- Today
- Total
Things take time
[SWIFT] UITAableViewCell의 RowHeight, 높이를 유동적(Dynamic)으로 조절하기 본문
[개요]
테이블 뷰의 행, cell의 높이는 보통
func tableView(_ tableView: UITableView, heightForRowAt indexPath: IndexPath) -> CGFloat { return 70 }
와 같이 heighForRowAt에서 일괄적으로 적용할 수 있다.
그러나 만약 각 행에 들어가는 이미지 뷰, 텍스트 뷰 등의 크기가 유동적이라면 이 방법으로는 대응할 수 없다.
여러 구글링을 한 결과,
위의 heightForRowAt함수에서 들어가는 이미지나 문자열의 길이를 계산해서 높이를 개별적으로 지정하는 방법을 사용했었으나 영문이 아닌 한글일 때 계산하는 방법 등 오래된 방법이란 것을 알았다.
iOS 8버전때부터 등장한 방법으로 소개한다.
[코드]
// tableView의 계산된 높이 값은 68이다. 즉 Default Height이다. UITableView.estimatedRowHeight = 68.0 // tableView의 rowHeight는 유동적일 수 있다 UITableView.rowHeight = UITableViewAutomaticDimension
단, 이 방법을 사용하기 전에 필수 조건은 스토리보드 상에서 혹은 프로그래밍으로 먼저! 제약조건을 걸어 컴포넌트들의 오토레이아웃을 설정해야 한다. 그리고 위의 heightForRowAt 함수를 오버라이딩 하지 않는다.
그리고 위의 코드를 작성하면 된다.
'iOS (기능)' 카테고리의 다른 글
[SWIFT] 시스템 알람(System Alarm) 사운드 가져오기 및 재생 (2) | 2017.11.28 |
---|---|
[SWIFT] Toast Message 만들기 (0) | 2017.11.22 |
[SWIFT] UITableView의 separator, 구분선 왼쪽이 안나올 때 (0) | 2017.11.13 |
[SWIFT] Create UITableView programmatically, 테이블 뷰 코드로 (0) | 2017.11.10 |
[SWIFT] 네비게이션 컨트롤러가 있는 뷰 컨트롤러 열기 (0) | 2017.11.10 |