Bài 32: UITableViewDelegate

Trong UITableView để phát hiện và xử lý action khi người dùng chọn một cell bất kỳ chúng ta sẽ sử dụng UITableViewDelegate.

Trong bài này mình sẽ hướng dẫn các bạn thực hiện demo hiển thị màn hình detail khi chọn vào một món ăn trong TableView danh sách món ăn.

1. Tạo màn hình detail

Các bạn tiếp tục project về TableView ở bài trước. Link download project: https://bit.ly/2oknRR9

  • Ở Main.storyboard các bạn thêm một ViewController mới và thiết kế giao diện như sau:
Màn hình detail
Hình 1.1 Màn hình detail
  • Tiếp theo, chúng ta thêm file DetailViewController.swift để quản lý màn hình detail. New File → Cocoa Touch Class → Next:
New File
Hình 1.2 Add New File
  • Chọn Subclass of là UIViewController, đặt tên cho file → Next:
Thêm file quản lý detail view
Hình 1.3 Thêm file quản lý detail view
  • Sau khi tạo xong các bạn set class quản lý cho màn hình detail:
Chọn class quản lý màn hình detail
Hình 1.4 Chọn class quản lý màn hình detail
  • Các bạn tiến hành ánh xạ Outlet, Action ở màn hình detail như bình thường:
Ánh xạ Outlet màn hình detail
Hình 1.5 Ánh xạ Outlet màn hình detail
  • Trong DetailViewConttroller các bạn tạo một biến để chứa dữ liệu khi UITableView truyền qua và action cho Back Button:

2. Hiển thị màn hình detail

  • Chọn vào ViewCotroller các bạn tạo một Segue từ ViewController với DetailViewController:
Tạo Segue giữa 2 màn hình
Hình 2.1 Tạo Segue giữa 2 màn hình
  • Chúng ta set Indentifier cho Segue là “showDetailFlow”:
Set Indentifier cho Segue
Hình 2.2 Set Indentifier cho Segue

Để bắt đươc sự kiện khi người dùng chọn một cell chúng sử dụng UITableViewDelegate. Chọn vào ViewController.swift trong Function “viewDidLoad()” thêm dòng: “myTableView.delegate = self”.

Kéo xuống dưới chúng ta thêm 2 hàm sau:

Chạy project bây giờ chúng ta sẽ thấy được màn hình Detail khi chọn vào một cell bất kỳ:

Hiển thị màn hình Detail
Hình 2.3 Hiển thị màn hình Detail

Cảm ơn bạn đã theo dõi bài viết, nếu có thắc mắc gì vui lòng để lại bình luận bên dưới.

Bạn có thể tham khảo khoá học lập trình iOS tại laptrinh0kho.com. Các khoá học từ cơ bản đến nâng cao, được thực tập doanh nghiệp. Bạn sẽ được cung cấp kiến thức có hệ thống với đội ngũ giảng viên giàu kinh thực tế và am hiểu sư phạm. Hãy liên hệ ngay để được tư vấn miễn phí theo thông tin bên dưới:

LAPTRINH0KHO.COM

  • 138/36 Nguyễn Xí, P. 26, Q. Bình Thạnh, TP.HCM
  • Hotline: 0347.750.760 (Kết bạn Zalo để tư vấn)
  • Email: laptrinh0kho@gmail.com
  • Website: www.laptrinh0kho.com
  • FanPage : laptrinh0kho.com

Leave a Reply

Your email address will not be published. Required fields are marked *