Tự động tính chiều cao TextView trong TableViewCell

Tự động tính chiều cao TextView trong TableViewCell

Xin chào các bạn, hôm nay mình sẽ hướng dẫn các bạn cách tính chiều cao của TextView trong UITableViewCell một cách tự động.

1. Tạo TableView

Đầu tiên, mình tạo tạo ViewConTroller chỉ có 1 UITableView bình thường:

Tạo UITableView
Hình 1.1: Tạo UITableView

Chúng ta sẽ sử dụng Cell custom từ file XIB nên mình sẽ tạo thêm 1 CustomTableViewCell:

CusTomCell
Hình 1.2: Tạo CustomCell

Tiến hành cấu hình UITableView, set height của cell là UITableViewAutomaticDimension để giúp UITableViewCell tự động co giãn theo nội dung bên trong:

2. Thiết kế CustomTableViewCell

Chúng ta quay lại file CustomTableViewCell.xib vừa tạo lúc nảy và kéo một UITextView vào trong và auto layout như thế này:

auto layout textview
Hình 2.1 Auto layout TextView

Bên trong file CustomTableViewCell.swift, mình implement UITextViewDelegate và tạo một closure textViewDidChange để callback ra ngoài như bên dưới:

Quay lại ViewController, mình implement closure textViewDidChange để update chiều cao của cell:

3. Kết quả

Mình set màu của table view là gray, của text view là white để xem được rõ hơn, kết quả mình nhận được như sau:

Cám ơn các bạn đã theo dõi bài viết của mình. Link source code các bạn có thể tham khảo: https://github.com/laptrinh0kho/TextViewOnCell.git