将表视图单元格添加到视图中的表视图

时间:2018-04-10 10:19:54

标签: ios swift uitableview uiview

我有一个UIViewMyView)的子类,我已经连接到NIB文件。

class MyView: UIView {

    @IBOutlet var contentView: UIView!
    @IBOutlet weak var tableView: UITableView!

    override init(frame: CGRect) {
        super.init(frame: frame)
        self.setup()
    }

    required init?(coder aDecoder: NSCoder) {
        super.init(coder: aDecoder)
        self.setup()
    }

    let nibName = "MyView"

    private func setup() {

        let bundle = Bundle.init(for: type(of: self))
        bundle.loadNibNamed(nibName, owner: self, options: nil)

        contentView.frame = self.bounds
        contentView.autoresizingMask = [.flexibleHeight, .flexibleWidth]
        self.addSubview(contentView)
    }

}

这种观点很简单;仅包含一个UITableView(或tableView)。不过,我想将UITableViewCellUILabel添加到tableView,但故事板不允许我这样做。

我理解MyView不是视图控制器,因此不应该(如果遵循MVC模式)实现各种表视图数据源/ delate方法,但是,仍然,为什么我不能将此表格视图单元格添加到此自定义视图中的表格视图中吗?

我的目标是有一些UIViewController子类,其实例为MyView,即

var myView = MyView(),

然后它控制数据源和委托方法,即

myView.tableView.dataSource = self.

最后,我附上了一个屏幕截图,显示我无法将此表格视图单元格添加到表格视图中。

enter image description here

1 个答案:

答案 0 :(得分:1)

您无法将原型单元格添加到xib文件中的表视图中 - 仅在故事板中。

可以在一个xib中创建表视图,如果需要,可以在另一个xib中创建表视图单元。

或者,您可以创建第二个故事板,其中包含表格视图,它将支持单元格原型。