我有一个 UITableView,每个单元格都有一个图像和两个标签,如第一张图片所示
所以我尝试使用自动调整大小的单元格,一切都很棒,除了两件事:
1)第一个和第二个单元格无法正确显示内容,但在我向下滚动然后返回到它们后,一切正常。我尝试在 viewDidAppear 中使用 [tableview reloadData],但没有帮助。首先观察标签,它们不合适。你可以在这个视频上观看https://www.youtube.com/watch?v=I9DGBl1c5vg https://www.youtube.com/watch?v=I9DGBl1c5vg
查看第一个单元格上的标签。
2)这是一项艰难的任务。我正在滚动表格,一切都很好,但是当我选择该行时,问题发生了。它把我推到详细视图,但是当我按“后退”并返回主视图时,表格视图会跳转,所以我不会返回到所选行,而且如果我滚动表格,它不会滚动平滑,但是跳跃。这是两个视频的链接,第一个视频显示滚动流畅https://www.youtube.com/watch?v=9wAICcZwfO4 https://www.youtube.com/watch?v=9wAICcZwfO4如果我不进入详细视图,第二个显示跳跃问题https://www.youtube.com/watch?v=fRcQ3Za1wDM https://www.youtube.com/watch?v=fRcQ3Za1wDM .
它绝对与自调整大小的单元有关,因为如果我不使用它,这个问题就不会发生。
好吧,我解决了这两个问题。
问题1
我添加了这两行
[cell.contentView setNeedsLayout];
[cell.contentView layoutIfNeeded];
in
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
before return cell
问题2
解决方案看起来非常简单。我只需要实施viewWillDissapear
并重新加载数据,所以代码如下所示
- (void)viewWillDisappear:(BOOL)animated;{
[super viewWillDisappear:animated];
[self.tableView reloadData];
}
对我来说,解决方案很简单,如果它对某人不起作用,我在这里找到了一些有用的链接。
1) UITableView 布局在推送转场和返回时混乱。 (iOS 8、Xcode beta 5、Swift) https://stackoverflow.com/questions/25221031/uitableview-layout-messing-up-on-push-segue-and-return-ios-8-xcode-beta-5-sw/26371697#26371697
2) http://useyourloaf.com/blog/2014/08/07/self-sizing-table-view-cells.html http://useyourloaf.com/blog/2014/08/07/self-sizing-table-view-cells.html
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)