在Storyboard中,我可以定义一个(或多个)原型单元格与UITableView
一起使用。
但是,我需要使用具有多个UITableView的相同原型单元吗?
有可能吗? 感谢。
答案 0 :(得分:2)
在UITableView
之间共享单元格的唯一方法是将它们作为单独的文件在.xib中定义,并为它们提供重用标识符。然后在代码中将该文件/对应的类注册到UITableView
。
e.g。将它放在tableViewController的viewDidLoad()
中:
tableView.registerNib(UINib(nibName: "", bundle: NSBundle.mainBundle()), forCellReuseIdentifier: "")
然后你可以在cellForRowAtIndexPath
答案 1 :(得分:1)
你必须创建一个nib文件(.xib),你可以通过文件 - >来做到这一点。 新 - > 查看(在UserInterface部分下)
然后设置你的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
}