Добавьте кнопку в tableViewHeader, как по умолчанию iOS - PullRequest
0 голосов
/ 06 марта 2019

У меня есть UITableViewController, куда я хочу добавить UIButton в заголовок раздела.

Я видел в приложении календаря эту кнопку, и я хотел знать, является ли это частью класса, который я могу использовать повторно, или мне нужно написать свой собственный класс, чтобы добавить его.

Button in tableView header in calendar app

Ответы [ 2 ]

2 голосов
/ 06 марта 2019

Вы должны использовать свой собственный класс для этого случая. Потому что UITableViewHeaderFooterView не содержит никаких кнопок. Итак, лучше идти с вашим customClass.

0 голосов
/ 06 марта 2019

Вы должны создать файл XIB и создать его файл класса.Добавьте свою кнопку и создайте ее выход.Зарегистрируйте свой xib в вашем viewDidLoad ()

Например:

let headerNib = UINib(nibName: "yourNIBname", bundle: nil)
tableView.register(headerNib, forHeaderFooterViewReuseIdentifier: "reuseIdentifer")

Затем добавьте следующий делегат табличного представления

override func tableView(_ tableView: UITableView, viewForHeaderInSection section: Int) -> UIView {
        let headerView = tableView.dequeueReusableHeaderFooterView(withIdentifier: "reuseIdentifer") as! youNIBClassName
        headerView.yourButton.addTarget(self, action: #selector(hideAllTapped(withSender:)), for: .touchUpInside)
        return headerView
    }

Вы получите событие action в вашемФункция hideAllTapped ()

@objc func hideAllTapped(withSender sender: UIButton) {
        // do your action
    }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...