我有一个具有以下结构的自定义uitableviewcell
customCell
Content View
vertical Stack View
title Label
horizontal Stack View
Label
Label
horizontal Stack View
Label
Label
点击时,会有一个细节视图控制器的segue。回来时,我在主任务中重新加载tableView。
我看到以下情况发生:
一个。没问题:
B中。问题
我在主线程中调用reloadData()。不这样做通常是缺少UITableViewCells更新的原因。不是在这种情况下。
- >我有一个解决方法,请参阅下面的答案。应用此解决方法可以解决问题。
按要求编辑:
override func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
let cell = tableView.dequeueReusableCellWithIdentifier(workoutCellIdentifier2, forIndexPath: indexPath) as! WorkoutTableViewCell
let workout = appDelegate.persistence.workouts[indexPath.row]
cell.setWorkout(workout, healthData: appDelegate.healthData)
return cell
}
它永远不会进入后备路径
答案 0 :(得分:0)
我看到单元格的布局过程在包含空标签时优化了底线(text == nil)
前两行获得更多垂直空间。
稍后设置标签文本时,布局过程不会反转。 setNeedsLayout()
没有帮助。因此,即使在重绘时包含数据,底线仍然会被优化掉。
解决方法:
永远不要在单元格中将标签文本设置为nil。将其设置为" "没有数据的时候。
现在,底线永远不会被优化掉。一个空的空间仍然表示还没有设置。