我尝试在@IBOutlet
:https://i.imgur.com/MKWd0og.png中添加UITableViewCell
中的Swift 4
,因为我想以编程方式更改行高:https://i.imgur.com/LsEpawM.png但由于某种原因,我无法做到这一点。
我尝试将其添加到UIViewController
快速文件中,但随后返回此错误:
从ShowIssue到TableViewCell的单元出口无效。 插座无法连接到重复内容。
我还尝试将其添加到UITableViewCell
快速文件中(我将其用于添加单元格内部对象的出口),但不允许我进行连接。
我该如何工作?
提前谢谢!
答案 0 :(得分:2)
您无法将IBOutlet或整个单元连接到UIViewController
。但是您可以做的是将这些插座连接到UITableViewCell
的子类。
因此,首先创建UITableViewCell
class YourCell: UITableViewCell {
}
然后在情节提要中不要忘记更改单元格的类别
现在您可以将IBOutlet连接到该子类
class YourCell: UITableViewCell {
@IBOutlet weak var someView: UIView!
...
}
因此可以解决连接插座的问题。现在如何更改所有单元格的行高:
如果您需要更改UITableView
中单元格的高度,可以在UIViewController
中进行设置。但不是作为单个单元格的高度,而是作为UITableView
yourTableView.rowHeight = 70
或者您可以使用自动布局,然后就不必设置rowHeight
答案 1 :(得分:1)
如果要以编程方式更改TableViewCell
的高度,则可以使用一个委托方法
func tableView(_ tableView:UITableView, heightForRowAt indexPath:IndexPath)-> CGFloat
使用此方法返回您的自定义单元格高度
您需要在 View Controller 中覆盖它,并且不要忘记提供像这样的委托:
myTableView.delegate =自我