Để thêm nút gửi ở cuối chế độ xem bảng, chúng ta có thể sử dụng chân trang của chế độ xem bảng. Hãy xem điều này với sự trợ giúp của một ví dụ trong đó chúng tôi sẽ thêm chế độ xem chân trang vào bảng của mình và bên trong bảng, chúng tôi sẽ thêm mã để thêm nút ở cuối chế độ xem bảng.
Trước tiên, hãy tạo một dự án mới, sau đó bên trong bộ điều khiển chế độ xem, hãy thêm mã sau để khởi tạo bảng, thêm một phần và một vài hàng vào bảng.
func initTableView() { let tableView = UITableView() tableView.frame = self.view.frame tableView.dataSource = self tableView.delegate = self tableView.backgroundColor = colorLiteral(red: 0.6000000238, green: 0.6000000238, blue: 0.6000000238, alpha: 1) tableView.register(UITableViewCell.self, forCellReuseIdentifier: "cell") self.view.addSubview(tableView) } func numberOfSections(in tableView: UITableView) -> Int { return 1 } func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int { return 2 } func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell { let cell = tableView.dequeueReusableCell(withIdentifier: "cell") cell?.layer.backgroundColor = colorLiteral(red: 0.2392156869, green: 0.6745098233, blue: 0.9686274529, alpha: 1) cell?.textLabel?.text = "cell at \(indexPath.row)" return cell! }
Bây giờ, hãy gọi hàm đầu tiên, initTableView () bên trong chế độ xem đã thực hiện tải hoặc phương thức viewDidAppear của bộ điều khiển chế độ xem của bạn.
Bây giờ, hãy thêm đoạn mã sau, mã này sẽ yêu cầu bảng cung cấp một số chiều cao cho các hàng và chân trang của nó.
func tableView(_ tableView: UITableView, heightForRowAt indexPath: IndexPath) -> CGFloat { return 60 } func tableView(_ tableView: UITableView, heightForFooterInSection section: Int) -> CGFloat { return 100 }
Đảm bảo rằng bạn đã xác nhận lớp của mình với UITableViewDataSource và UITableViewDelegate, nếu không các phương thức trên sẽ xuất hiện dưới dạng lỗi.
Bây giờ, hãy thêm chế độ xem chân trang và một nút vào chế độ xem chân trang.
func tableView(_ tableView: UITableView, viewForFooterInSection section: Int) -> UIView? { let footerView = UIView() footerView.backgroundColor = colorLiteral(red: 0.9686274529, green: 0.78039217, blue: 0.3450980484, alpha: 1) footerView.frame = CGRect(x: 0, y: 0, width: self.view.frame.width, height: 100) let button = UIButton() button.frame = CGRect(x: 20, y: 10, width: 300, height: 50) button.setTitle("CustomButton", for: .normal) button.setTitleColor( colorLiteral(red: 0, green: 0, blue: 0, alpha: 1), for: .normal) button.backgroundColor = colorLiteral(red: 0.721568644, green: 0.8862745166, blue: 0.5921568871, alpha: 1) footerView.addSubview(button) return footerView }
Khi chúng tôi chạy đoạn mã trên trên thiết bị của mình, bên dưới là kết quả được tạo ra. Bạn có thể thêm một hành động tùy chỉnh vào nút và tùy chỉnh nó theo yêu cầu.