viewforHeaderInSection

viewforHeaderInSection

我有几个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/

10-11 02:58