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:

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

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:

- 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