【问题标题】:custom init for UITableView connected as IBOutlet [closed]UITableView 的自定义初始化连接为 IBOutlet [关闭]
【发布时间】:2020-06-26 12:59:58
【问题描述】:

我似乎无法在 Apple Developer 文档中找到有关如何正确继承 UITableView 的信息。具体来说,我有一个连接到 IBOutlet 的自定义表格视图。

我想在视图控制器中对其进行初始化,并在其初始化程序中传递数据源。

我已经看到很多关于子类化UITableViewCells 的问题,但没有太多关于子类化UITableView 的问题。

【问题讨论】:

  • 您可能应该按照弗兰肯斯坦下面所述的程序化方式进行。但老实说,根据您对为什么需要子类 UITableView 的描述,除非有更多的自定义实现,否则它似乎有点没有意义。分配一个委托和数据源总共是 2 行。

标签: ios swift uitableview


【解决方案1】:

你可以继承 UITableView 就像你在 Swift 中继承任何其他东西一样。

class MyTableView: UITableView {
    //...
}

但是,如果您想创建一个自定义初始化程序并“使用它”,您可以在没有情节提要的情况下以编程方式添加它。故事板使用init?(coder: 方法来初始化tableView。

class MyTableView: UITableView {

    required init?(coder: NSCoder) { // storyboard uses this method
        super.init(coder: coder)
    }
}

如果您想使用自定义初始化程序,那么您应该使用编程方法。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-01-09
    • 2016-01-22
    • 1970-01-01
    • 2019-05-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多