具有多个UITableView的相同原型单元

时间:2016-07-26 11:58:00

标签: ios swift uitableview uikit

在Storyboard中,我可以定义一个(或多个)原型单元格与UITableView一起使用。

但是,我需要使用具有多个UITableView的相同原型单元吗?

有可能吗? 感谢。

2 个答案:

答案 0 :(得分:2)

UITableView之间共享单元格的唯一方法是将它们作为单独的文件在.xib中定义,并为它们提供重用标识符。然后在代码中将该文件/对应的类注册到UITableView

e.g。将它放在tableViewController的viewDidLoad()中:

tableView.registerNib(UINib(nibName: "", bundle: NSBundle.mainBundle()), forCellReuseIdentifier: "")

然后你可以在cellForRowAtIndexPath

内正常继续

答案 1 :(得分:1)

你必须创建一个nib文件(.xib),你可以通过文件 - >来做到这一点。 - > 查看(在UserInterface部分下)

enter image description here

然后设置你的UITableViewCell元素并设置一些reuseIdentifier,你也可以根据需要创建子类

然后在你的viewController中(你想使用这个自定义tableViewCell)

在viewDidLoad中你需要用tableView注册那个nib,

override func viewDidLoad() {
    // the .xib filename
    tableView.registerNib(UINib(nibName: "CustomCell", bundle: nil), forCellReuseIdentifier: "CustomCellId")

}

然后在cellForRowAtIndexPath中,您可以像原型单元一样使用它,

 func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {

    let cell = tableView.dequeueReusableCellWithIdentifier("CustomCellId", forIndexPath: indexPath) as! Customcell

    // your custom code
    return cell
}