我有几个UITableViewControllers创建相同的确切部分标题。目前,我已经将viewForHeaderInSection代码复制粘贴到每个视图控制器中。但这是一个不好的做法。我可以创建一个可以提供该实现的基类,但我正在寻找一种更好的方法。基类的问题是,除非我有UIViewController的基类,否则它只能与UITableViewController一起使用。如果我将UIViewController用作基类,那么大多数视图控制器将获得该功能,即使它们不需要它。
我怎么解决这个问题?我尝试了协议扩展,但不能覆盖协议扩展中的方法。
最佳答案
处理此问题的一种好方法是为标头创建一个自定义的UIView
子类。然后,在每个TableViewControllers中,您可以执行以下操作:
class TVC: UITableViewController {
//...
override func tableView(tableView: UITableView, viewForHeaderInSection section: Int) -> UIView? {
return MyCustomHeaderView(title: "sometitle", ... )
}
//...
}
关于ios - 为多个UITableViewControllers提供通用的viewForHeaderInSection,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/33508471/