【问题标题】:How to subclass a UITableViewCell?如何子类化 UITableViewCell?
【发布时间】:2017-02-13 21:05:39
【问题描述】:

我收到了这个旧帖子:How to subclass UITableView? 和这个旧视频:https://www.youtube.com/watch?v=FfZGKx4BYVU,但这对我没有帮助。我想要的很简单,我得到了一个带有动态单元格的 UITableViewController。我想排出那些细胞。这只有在我“子类化”它时才有可能。我制作了另一个文件,如下所示:

import UIKit

class CreateChannelCell: UITableViewCell {

    override func awakeFromNib() {
        super.awakeFromNib()
        // Initialization code
    }

    override func setSelected(_ selected: Bool, animated: Bool) {
        super.setSelected(selected, animated: animated)

        // Configure the view for the selected state
    }

}

但我仍然无法将 UITableViewController 中的这些插座添加到此文件中。我的细胞需要是动态的。我想我只错过了一步,但那是哪一步?谢谢。

【问题讨论】:

    标签: swift uitableview outlet


    【解决方案1】:

    您需要在表格视图中注册您的自定义类。

    如果单元格与表格视图位于同一场景中:

    tableView.register(MyCustomCell.self, forCellReuseIdentifier: "cell")
    

    如果你在不同的笔尖上设计它(比如MyCustomCell.xib):

    let nib = UINib(nibName:@"MyCustomCell" bundle: .main)
    tableView.register(nib, forCellReuseIdentifier: "cell")
    

    【讨论】:

      【解决方案2】:

      这是子类化的正确方法。但如果您使用的是 Storyboard 或 Xib 文件,则需要在您创建的 UITableView 中引用 CreateChannelCell 以及 CreateChannelCell 所在的位置。

      您需要选择单元格,然后转到CustomClass 并在那里写下您的班级名称......在这种情况下为CreateChannelCell

      如果您不使用 Storyboard 或 Xib,请查看 Code Different 提供的答案

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多