UITableView 的自定义初始化连接为 IBOutlet [关闭]

Posted

技术标签:

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

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

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

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

【问题讨论】:

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

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

class MyTableView: UITableView 
    //...

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

class MyTableView: UITableView 

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

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

【讨论】:

以上是关于UITableView 的自定义初始化连接为 IBOutlet [关闭]的主要内容,如果未能解决你的问题,请参考以下文章

iOS:使用 IB 为以编程方式创建的 UITableView 创建自定义单元格

IB — 根据条件初始化特定的自定义 UIView

从多节 UITableView 中的自定义静态单元格中检索标签文本

解决UITableView xib添加到Storyboard出现IB Designables错误

解决UITableView xib添加到Storyboard出现IB Designables错误

UITableView的自定义以及自适应高度