Ios 尽管我在其中有内容,但我仍然可以查看零高度
我在UITableViewCell中有UIStackView,其中有四个长文本标签。 在第一次加载中,我只在单元格中显示高度为44的第一个标签,并隐藏其他三个标签,StackView正确显示。然后,当我单击tableViewCell时,我需要展开单元格并显示其他三个标签。我显示它们并重新加载TableView,但我的StackView之后的高度为零,并且所有四个标签的高度也为零。我只在IOS 10.1中遇到了这个问题,当我使用带有短文本StackView的标签时,它工作得很好 这是我的代码:Ios 尽管我在其中有内容,但我仍然可以查看零高度,ios,swift,uitableview,uistackview,Ios,Swift,Uitableview,Uistackview,我在UITableViewCell中有UIStackView,其中有四个长文本标签。 在第一次加载中,我只在单元格中显示高度为44的第一个标签,并隐藏其他三个标签,StackView正确显示。然后,当我单击tableViewCell时,我需要展开单元格并显示其他三个标签。我显示它们并重新加载TableView,但我的StackView之后的高度为零,并且所有四个标签的高度也为零。我只在IOS 10.1中遇到了这个问题,当我使用带有短文本StackView的标签时,它工作得很好 这是我的代码: f
func tableView(tableView: UITableView, didSelectRowAtIndexPath indexPath: NSIndexPath) {
var cell = tableView.cellForRowAtIndexPath(indexPath) as! AboutUsTableViewCell
cell.firstLabel.hidden = isExpanded
cell.secondLabel.hidden = isExpanded
cell.thirdLabel.hidden = isExpanded
isExpanded = !isExpanded
tableView.reloadData()
}
谢谢大家! 将标签行数设置为0,并将下面的代码添加到viewDidLoad方法中
self.tableView.estimatedRowHeight = 44.0 //or cell height
self.tableView.rowHeight = UITableViewAutomaticDimension
您应该在更改
ishiden
属性后更新表。这应该是一个技巧
func tableView(tableView: UITableView, didSelectRowAtIndexPath indexPath: NSIndexPath) {
var cell = tableView.cellForRowAtIndexPath(indexPath) as! AboutUsTableViewCell
cell.firstLabel.hidden = isExpanded
cell.secondLabel.hidden = isExpanded
cell.thirdLabel.hidden = isExpanded
isExpanded = !isExpanded
tableView.beginUpdates()
tableView.endUpdates()
}
此外,请检查是否在
UIStackView
单元格内使用UITableView
我已经设置了UITableView自动标注尺寸,并且我所有的标签都有0行。正如我所说,IOS 9和IOS 10.2的所有功能都非常完美。我只对IOS 10.1有问题