Ios 如何在没有UITableView的情况下将自定义UITableViewCell与xib一起使用
我已经创建了一个名为Ios 如何在没有UITableView的情况下将自定义UITableViewCell与xib一起使用,ios,uitableview,Ios,Uitableview,我已经创建了一个名为CustomTableViewCell的自定义UITableViewCellxib CustomTableViewCell的代码如下- class CustomTableViewCell:UITableViewCell{ @IBVAR标签1:UILabel! } 在UITableViewController中,我使用CustomTableViewCell如下- 在viewDidLoad()中,调用寄存器(uu∶forCellReuseIdentifier:) 在table
CustomTableViewCell
的自定义UITableViewCell
xib
CustomTableViewCell
的代码如下-
class CustomTableViewCell:UITableViewCell{
@IBVAR标签1:UILabel!
}
在UITableViewController
中,我使用CustomTableViewCell
如下-
- 在
中,调用viewDidLoad()
寄存器(uu∶forCellReuseIdentifier:)
- 在
函数中,调用tableView(uquo:cellForRowAt:)
,并设置dequeueReusableCell(带标识符:for:)
的文本label1
CustomTableviewCell
可见
还有另一个带有xib的自定义UIViewController
。对于这个xib文件,我想添加CustomTableViewCell
作为子视图
我在xib中添加了一个UIView
,并将其类设置为CustomTableViewCell
。当应用程序运行时,应用程序崩溃,因为标签
IBOutlet为零
有人能指出如何解决这个问题吗?您试图做的事情是可以实现的,但方式不同。UITableView单元格仅由UITableView自动实例化。因此,通过设置类名,不会实例化CustomTableViewCell 解决办法是: 每个UITableView单元格都是UIView的子类,因此我们可以通过nib自己实例化CustomTableView单元格,并以编程方式将视图添加到容器视图中,我们可以将其放入UIViewController中 以下是可能对您有所帮助的代码
import UIKit
class ViewController: UIViewController {
@IBOutlet weak var containerView: UIView!
override func viewDidLoad() {
super.viewDidLoad()
let nib = UINib(nibName: String(describing: CustomTableViewCell.self), bundle: nil)
if let customTableViewCell = nib.instantiate(withOwner: self, options: nil).first as? CustomTableViewCell {
customTableViewCell.label1.text = "Hello"
containerView.addSubview(customTableViewCell)
}
}
}
要添加自定义UIViewcell,您可以使用xib创建UIViewcell,并为特定单元格提供可重用的标识符。然后在uiviewcontroller中定义tableviewcell时使用该特定uiview单元格。UITableViewCell的子机箱用于TableView,您应该子机箱uiview