【发布时间】:2018-11-04 16:56:06
【问题描述】:
首先,抱歉如果我说的有问题,因为这是我第一次尝试使用笔尖。
我有一个使用 nib 文件初始化的 UIViewController“MainVC”(我决定这样做是因为它是一个弹出窗口并且更有意义),并且我想在 UIView 中嵌入另一个视图控制器“RenderersViewController”。为此,我这样做:
override func viewDidLoad() {
super.viewDidLoad()
let renderersVC = RenderersViewController(withRowHeight: 42)
addChild(renderersVC)
renderersVC.view.frame = renderersContainerView.bounds
renderersContainerView.addSubview(renderersVC.view)
renderersVC.didMove(toParent: self)
}
RenderersViewController 是 UIViewController,它有一个 UITableView,它有一个自定义的 Initialisation 和 nib
init(withRowHeight rowHeight:CGFloat) {
self.rowHeight = rowHeight
super.init(nibName: "RendererVCNib", bundle: nil)
}
当 RenderersViewController didSet 中的 tableView 注册一个自定义 UITableViewCell 时,它也有它自己的 nib。
@IBOutlet weak var renderersTableView: UITableView!{
didSet{
renderersTableView.register(RenderersTableViewCell.self, forCellReuseIdentifier: "mycell")
renderersTableView.bounces = false
renderersTableView.dataSource = self
renderersTableView.delegate = self
}
}
在 cellForIndex 中
func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
let rendererCell = tableView.dequeueReusableCell(withIdentifier: "mycell", for: indexPath) as! RenderersTableViewCell
if indexPath.row < rendererArray.count{
let cpRendererItem = rendererArray[indexPath.row]
//rendererCell.rendererNameLabel.text = cpRendererItem.friendlyName
//rendererCell.rendererImageView.sd_setImage(with: cpRendererItem.iconUrl, placeholderImage: UIImage(named:"upnp_ic")!)
rendererCell.rendererNameLabel.text = "HELLO"
rendererCell.rendererImageView.image = UIImage(named:"upnp_ic")
}
return rendererCell
}
RenderersTableViewCell 笔尖
【问题讨论】:
标签: ios swift uitableview nib