我的应用程序中的一个表 View 出现问题,想知道是否有人遇到过类似情况。我在自定义tableviewcell中有2个标签-questionLabel
和answerLabel
-具有以下约束:
在两个UILabel上,我都将行数设置为0,以使它们成为多行,并且也将preferredmaxLayoutWidth
属性添加到两者中,如下所示:
cell.questionLabel.preferredMaxLayoutWidth = cell.questionLabel.frame.width
cell.answerLabel.preferredMaxLayoutWidth = cell.answerLabel.frame.width
根据其他StackOverflow建议,我在
viewDidLoad()
方法中还具有以下内容:self.faqTableView.rowHeight = UITableViewAutomaticDimension
self.faqTableView.estimatedRowHeight = 140.00
第一次加载时,即使行设置为0,标签仍然会被截断,并且会奇怪地在标签的不一致位置进行。但是,当向下滚动屏幕然后返回顶部时,标签会自动更正,布局也很完美。请参见下面的屏幕截图:
以前有没有人遇到过这个问题,如果可以的话,您可以为我指明正确的方向。我不确定这是我设置失败还是我的自动布局约束出现问题。
最佳答案
cell.questionLabel.preferredMaxLayoutWidth = cell.questionLabel.frame.width
cell.answerLabel.preferredMaxLayoutWidth = cell.answerLabel.frame.width
self.faqTableView.estimatedRowHeight = 140.00
将UILabel的行数设置为零,并实现以下方法
-(CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath {
return UITableViewAutomaticDimension;
}
关于ios - 为什么UITableViewCell中的多行UILabels在第一次加载时会被截断,但在滚动时会进行校正?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/48621102/