Expand UITableViewCell

thumnail-blog

Xin chào các bạn, hôm nay mình sẽ chia sẻ với các bạn cách tạo ra cell mở rộng trong UITableView. Có rất nhiều app sử dụng cách này để UI gọn gàng và đẹp mắt hơn.

1. Khởi tạo TableView

  • Các bạn tạo một UITableView và ánh xạ outlet như bình thường:
Tạo UITableView
Hình 1.1 Tạo UITableView

Mình sẽ sử dụng luôn UITableViewCell mặc định:

UITableViewCell
Hình 1.2: UITableViewCell

2. Tạo Model

Chúng ta cần chú ý vào model Section:

  • name: tên của Section sẽ hiển thị lên trên TableView
  • items: dữ liệu sẽ hiển thị lên trên mỗi Cell, có kiểu là Item được định nghĩa bên dưới.
  • collapsed: thể hiện việc Section có đang mở rộng hay thu gọn

3. Tạo HeaderView

  • Mình sẽ tạo một file XIB để làm SectionView cho TableView. Với file XIB này các bạn có thể dễ dàng thay đổi UI của SectionView:
HeaderView
Hình 3.1 HeaderView
  • Thêm delegate để bắt sự kiện khi người dùng nhấn và Section:

4. Code xử lý

Trong UIViewController khởi tạo list Section để TableView hiển thị:

Code xử lý UITableView:

Và đây là kết quả:

Link source code các bạn có thể tham khảo: https://github.com/laptrinh0kho/ExpandUITableViewCell/tree/master