我从 nib 创建了一个自定义 UITableView,并试图在 ShopImagesViewCell 的 Size Inspector 中更改行高。
ShopImagesViewCell.xib:
所以我在 ShopImagesViewCell.swift 中编写了更改行高的代码。
class ShopImagesViewCell: UITableViewCell, UITableViewDelegate
{
@IBOutlet weak var imageCollectionView: UICollectionView!
@IBOutlet weak var titleLabel: UILabel!
@IBOutlet weak var starView: UIView!
@IBOutlet weak var starImageView: UIImageView!
override func awakeFromNib()
{
super.awakeFromNib()
//....
}
func tableView(_ tableView: UITableView, heightForRowAt indexPath: IndexPath) -> CGFloat
{ // This function does not work.
return CGFloat(300) // 300 changes fluidly
}
}
extension ShopImagesViewCell
{
func setView()
{
self.imageCollectionView.delegate = self
self.imageCollectionView.dataSource = self
self.imageCollectionView.regCells(cells: ["ShopImageCollectionViewCell","ShopNonImageCollectionViewCell"])
}
}
由于该功能不起作用,我试图找到一种方法并尝试做
self.tableView.delegate = self
但是,tableView 不存在,我尝试使用@outlet 添加 ShopImagesViewCell,但这是不可能的。
我如何使上述功能工作?
如果您想对其他源代码发表评论,我会尽可能添加。
您的单元格是UITableViewCell
包含UICollectionView
. 因此,您的单元格类应符合UICollectionViewDataSource
UICollectionViewDelegate` 方法。您的表格视图单元格不应实现任何表格视图数据源或委托方法,也不应符合表格视图协议。将它们与表视图一起放在视图控制器中。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句