自动布局问题 - 垂直间距
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了自动布局问题 - 垂直间距相关的知识,希望对你有一定的参考价值。
在带有Swift 3的Xcode 8中,我使用自定义单元格进行自动布局。从JSON插入单元格的信息,所以我的代码如下:
//the method returning each cell of the list
public override func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell{
let cell = self.tableView.dequeueReusableCell(withIdentifier: "Feedcell", for: indexPath) as! FruitTableViewCell
//getting the hero for the specified position
let hero: List_Feed
hero = heroes[indexPath.row]
cell.labelAnswer.text = hero.answer
cell.labelQuestion.lineBreakMode = .byWordWrapping
cell.labelQuestion.text = hero.question
cell.labelQuestion.sizeToFit()
cell.labelAnswer.sizeToFit()
return cell
}
问题是我为每个单元格获得了相同的标签问题高度,但文本大小和行大小不同。怎么解决这个? :C
答案
当Cell重新使用标签时您必须在用于下一个单元格之前清空标签
public override func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell{
let cell = self.tableView.dequeueReusableCell(withIdentifier: "Feedcell", for: indexPath) as! FruitTableViewCell
//EMPTY LABELS
cell.labelAnswer.text = ""
cell.labelQuestion.text = ""
self.layoutIfNeeded()
//getting the hero for the specified position
let hero: List_Feed
hero = heroes[indexPath.row]
cell.labelAnswer.text = hero.answer
cell.labelQuestion.lineBreakMode = .byWordWrapping
cell.labelQuestion.text = hero.question
cell.labelQuestion.sizeToFit()
cell.labelAnswer.sizeToFit()
return cell
}
希望它对你有所帮助
另一答案
1-设置垂直内容拥抱优先权今天标签为1000
2-将标签底部[在今天的标签下]钩到图像的顶部
3-最下面的标签底部到contentView的底部
编辑:
在cellForRowAt中返回单元格之前添加这两行
cell.layoutSubviews()
cell.layoutIfNeeded()
以上是关于自动布局问题 - 垂直间距的主要内容,如果未能解决你的问题,请参考以下文章
unity 自动排版(Vertical Layout Group)