我有UITableView
,其上边缘附加在UIButton
的底部。 UITableView
的边缘附加到屏幕边缘。
UITableView
有一个高度约束,最初设置为0
,然后按下UIButton
我将高度约束常量设置为所需大小的动画,有效地扩展了{{} 1}}低于UITableView
。点击UIButton
会再次将常量设置为UIButton
折叠并再次隐藏0
。
我遇到的问题是,UITableView
的首次加载/扩展,当单元格出现时,它们似乎不是正确的宽度 - 右端(包括其内容)似乎略微扩大。如果我折叠UITableView
然后再次重新展开它,则不会发生错误,因此它似乎只会在第一次加载单元格时发生。
我已尝试使用默认的UITableView
类型单元格,以及Nib中的自定义单元格,并且两者都出现问题。
我还尝试在Value1
cell.layoutIfNeeded()
之前调用cell.layoutSubviews()
和return cell
,但都没有任何效果。
此问题仅发生在iPhone 6及更高版本上,大概是因为此设备的屏幕略宽。在iPhone 5S及更早版本上,单元首次加载正常。看起来好像电池最初在iPhone 5S上加载并且宽度较低,然后在较大的设备上向外扩展。
问题似乎与更改cellForRowAtIndexPath()
的高度约束常量值有关,但我不确定原因。
提前感谢您的帮助。
修改
添加了UITableView
代码:
cellForRowAtIndexPath()
答案 0 :(得分:0)
试试这个
var cell = tableView.dequeueReusableCellWithIdentifier("Cell", forIndexPath: indexPath) as UITableViewCell?
if (cell == nil) {
cell = UITableViewCell(style: UITableViewCellStyle.Value1, reuseIdentifier: ("Cell", forIndexPath: indexPath))
}