Ios 自调整单元格大小使UITableView跳转
我有一个UITableView,每个单元格有一个图像和两个标签,如第一张图片所示 因此,我尝试使用自调整大小的电池,除了两件事外,其他一切都很好: 1) 第一个和第二个单元格不能正确显示内容,但在我向下滚动并返回到它们之后,一切都正常。我尝试在ViewDidDisplay中使用[tableview reloadData],但没有帮助。开始注意标签,它们不合适。你可以在这个视频上看 查看第一个单元格上的标签 2) 这很难。我滚动表格,一切都很好,但问题发生了,当我选择行时。它将我推到详细视图,但当我按“后退”并返回到主视图时,tableview会跳转,因此我不会返回到选定的行,而且如果我滚动表格,它也不会平滑滚动,而是跳转。下面是两个视频的链接,第一个显示如果我不转到详细视图,滚动是平滑的,第二个显示跳跃问题Ios 自调整单元格大小使UITableView跳转,ios,objective-c,uitableview,reloaddata,Ios,Objective C,Uitableview,Reloaddata,我有一个UITableView,每个单元格有一个图像和两个标签,如第一张图片所示 因此,我尝试使用自调整大小的电池,除了两件事外,其他一切都很好: 1) 第一个和第二个单元格不能正确显示内容,但在我向下滚动并返回到它们之后,一切都正常。我尝试在ViewDidDisplay中使用[tableview reloadData],但没有帮助。开始注意标签,它们不合适。你可以在这个视频上看 查看第一个单元格上的标签 2) 这很难。我滚动表格,一切都很好,但问题发生了,当我选择行时。它将我推到详细视图,但
它绝对可以与自动调整大小的单元格相连接,因为如果我不使用它,就不会出现任何问题。不幸的是,我认为您提出的两个问题都是IOS错误 问题(1) 这建议了一个简单的解决方法 首次显示表格视图时,您可能会发现某些单元格的大小不正确。但当您滚动表格视图时,新单元格将以正确的行高显示。要解决此问题,可以在视图出现后强制重新加载: 只需将以下内容添加到您的
viewdide
方法中。我已经测试过了,效果很好
[self.tableView reloadData];
问题(2)
第二个问题与以下问题重复:
这个问题的作者自己提出了一个变通办法,这似乎还可以。然而,我还没有试过这个
好的,我解决了这个问题,将我的单元格高度缓存在sizeThatFits中,并返回代理中估计的单元格高度值。工作得很漂亮
请随意转到该问题,寻求其他建议的解决方案 好的,我解决了这两个问题 问题1 我添加了这两行
[cell.contentView setNeedsLayout];
[需要cell.contentView布局];
在
-(UITableViewCell*)tableView:(UITableView*)tableView cellForRowAtIndexPath:(nsindepath*)indepath
在返回单元格之前
问题2
解决办法似乎很简单。我只需要实现viewwilldisapear
并在其中重新加载数据,因此代码如下所示
-(void)视图将消失:(BOOL)动画;{
[超级视图将消失:动画];
[self.tableView重载数据];
}
我的解决方案很简单,如果对某人不起作用,我在这里找到了一些有用的链接。
1)
2) 您是否对单元格中的标签和图像视图使用了约束?是的,图像有3个约束:1)前导空间2)顶部空间3)尾随空间;3第一个标签的约束:1)前导空间2)顶部空间3)尾随空间;第二个标签的4个约束1)前导空间2)顶部空间3)尾随空间4)底部空间应用约束时标签的边界是什么?宽度是290,高度是21谢谢你的回答。1) 正如我之前所说的,这个重新加载数据的修复对我来说不起作用2)我不明白他到底是怎么做到的,而且他也没有使用约束,但我会问him@igrrik,也许你可以从这里下载这个项目,并与你的项目进行比较,看看有什么不同?此示例代码由此提供,[self.tableView reloadData]
在那里工作。或者,如果你愿意的话,你可以发布一些相关的代码,让我们看看它们?可能是因为其他原因。我们已经取得了一些进展!第一个问题已经解决了。但第二个仍然在这里。实际上,这篇博文只提供了两行代码:self.tableView.estimatedRowHeight=239.0;self.tableView.rowHeight=UITableViewAutomaticDimension;其他一切都是有限制的。我的项目和他们的项目的区别在于,我的单元格中有一个imageview和一个detailview。@伊格里克,你是如何解决第一个问题的?你是否通过重新加载表视图解决了这个问题?@igrrik,似乎很多人都对这个IOS错误有意见。还可以看看这个:。在这一点上,我建议等待苹果修复他们的bug。如果这种跳转对您来说是一个关键问题,我还建议您使用一些传统的方法来制作可调整大小的单元格,正如本文所讨论的那样