gpt4 book ai didi

ios - 在对 tableView 约束进行动画处理时,TableViewCells 最初的大小错误

转载 作者:行者123 更新时间:2023-11-30 13:44:13 36 4
gpt4 key购买 nike

我有一个 UITableView,它的顶部边缘连接到 UIButton 的底部。 UITableView 的边缘附加到屏幕的边缘。

UITableView 有一个高度约束,最初设置为 0,然后当按下 UIButton 时,我将高度约束常量设置为动画所需的大小,有效地将 UITableView 扩展到 UIButton 下方。再次点击 UIButton 会将常量动画恢复到 0,再次折叠并隐藏 UITableView

我遇到的问题是,在第一次加载/扩展 UITableView 时,当单元格出现时,它们的宽度似乎不正确 - 右手端(包括其内容) )似乎稍微扩大了。如果我折叠 UITableView 然后再次重新展开它,则该错误不会发生,因此它似乎只在第一次加载单元格时发生。

我已经尝试过使用默认的 Value1 类型单元格以及 Nibs 中的自定义单元格,但两者都会出现问题。

我还尝试在 cellForRowAtIndexPath() 中的 return cell 之前调用 cell.layoutIfNeeded()cell.layoutSubviews() 但两者都没有任何效果。

此问题仅出现在 iPhone 6 及更高版本上,可能是因为该设备的屏幕变得稍宽。在 iPhone 5S 及更早版本上,电池首次加载良好。看起来单元格最初在 iPhone 5S 和较低宽度上加载,然后在更大的设备上向外扩展。

问题似乎与更改 UITableView 的高度约束常量值有关,但我不确定原因。

预先感谢您的帮助。

编辑

添加了cellForRowAtIndexPath()代码:

func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
var cell = tableView.dequeueReusableCellWithIdentifier("Cell") as UITableViewCell?

if (cell == nil) {
cell = UITableViewCell(style: UITableViewCellStyle.Value1, reuseIdentifier: "Cell")
}

cell!.textLabel?.font = UIFont(name: "HelveticaNeue", size: 14)
cell!.textLabel?.textColor = UIColor.lightGrayColor()
cell!.textLabel?.text = self.someArray[indexPath.row]

return cell!
}

最佳答案

试试这个

var cell = tableView.dequeueReusableCellWithIdentifier("Cell", forIndexPath: indexPath) as UITableViewCell?

if (cell == nil) {
cell = UITableViewCell(style: UITableViewCellStyle.Value1, reuseIdentifier: ("Cell", forIndexPath: indexPath))
}

关于ios - 在对 tableView 约束进行动画处理时,TableViewCells 最初的大小错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35175182/

36 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com