相关疑难解决方法(0)

在UITableView中使用自动布局来获取动态单元格布局和可变行高

如何UITableViewCell在表格视图中使用s 内的自动布局,让每个单元格的内容和子视图确定行高(本身/自动),同时保持平滑的滚动性能?

row-height uitableview ios autolayout nsautolayout

1477
推荐指数
18
解决办法
55万
查看次数

UITableView动态单元格高度仅在某些滚动后才能正确显示

我有一个使用自动布局在故事板中定义UITableView的自UITableViewCell定义.细胞有几条多线UILabels.

UITableView出现要正确计算单元格高度,但在最初的几个细胞高度不正确的标签之间的分歧.滚动一下后,一切都按预期工作(即使是最初不正确的单元格).

- (void)viewDidLoad {
    [super viewDidLoad]
    // ...
    self.tableView.rowHeight = UITableViewAutomaticDimension;
}


- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
    TableViewCell *cell = [self.tableView dequeueReusableCellWithIdentifier:@"TestCell"];
    // ...
    // Set label.text for variable length string.
    return cell;
}
Run Code Online (Sandbox Code Playgroud)

有什么我可能会遗漏,导致自动布局在前几次无法完成其工作吗?

我已经创建了一个演示此行为的示例项目.

示例项目:首次加载时示例项目的表格视图顶部. 示例项目:向下滚动和备份后的相同单元格.

uitableview ios autolayout ios8 ios-autolayout

107
推荐指数
9
解决办法
5万
查看次数

向下滚动时,UITableview不可见最后一个单元格

我对iOS很新.我有一个UITableView,它填充了许多自定义单元格,但向下滚动时底部单元格是不正确的.我的UITableView的Y值是44,高度是480.向下滚动时只有最后一个单元格的一半可见.我该如何解决这个问题.

提前致谢.

scroll uitableview ios

18
推荐指数
2
解决办法
2万
查看次数

Self Sizing Cells使UITableView跳跃

我有一个UITableView,每个单元格都有一个图像和两个标签,正如你在第一张图片上看到的那样

在此输入图像描述

所以我尝试使用自我调整细胞,一切都很好,除了两件事:

1)第一个和第二个单元格没有正确显示内容,但在我向下滚动然后返回它们之后一切正常.我试图在viewDidAppear中使用[tableview reloadData],但它没有帮助.首先观看不合适的标签.你可以在这个视频上观看它https://www.youtube.com/watch?v=I9DGBl1c5vg

查看第一个单元格上的标签.

2)这是一个艰难的.我正在滚动表格,一切都很好,但是当我选择行时问题就出现了.它正在推动我进行详细视图,但是当我按下"返回"并返回到主视图时,tableview跳转,所以我回到不选择的行,如果我滚动表格它不会滚动平滑,但是跳跃.以下是两个视频的链接,第一个显示滚动顺畅https://www.youtube.com/watch?v=9wAICcZwfO4如果我不去详细视图,第二个显示跳跃问题https:/ /www.youtube.com/watch?v=fRcQ3Za1wDM.

它绝对肯定与自我调整单元格有关,因为如果我不使用它,则不会发生这种问题.

objective-c uitableview reloaddata ios

12
推荐指数
1
解决办法
4916
查看次数

ios8 UITableView scrollToRowAtIndexPath与自动调整大小单元格不准确

当我第一次出现视图时,当我尝试一直滚动到表格视图的底部时,它不会滚动到正确的底部单元格.它接近结束但不完全.

如果稍后再次调用该方法,则会滚动到底部.现在我的解决方案是滚动两次,它只有在第二个延迟时才有效.

我想知道这是否是iOS 8中的一个错误,或者是否有任何我可以以正确的方式实现的.

NSIndexPath* path = [NSIndexPath indexPathForRow:[self.someArray count] - 1 inSection:0];

[self.someList scrollToRowAtIndexPath:path
                     atScrollPosition:UITableViewScrollPositionBottom
                             animated:NO];

//TODO: this is kindof a dirty hack for now, there seems to be a bug in ios8 auto sizing cells and figuring out the proper scroll location

dispatch_after(0, dispatch_get_main_queue(), ^{
    [self.someList scrollToRowAtIndexPath:path
                     atScrollPosition:UITableViewScrollPositionBottom
                             animated:NO];
});
Run Code Online (Sandbox Code Playgroud)

cell uitableview ios ios8

5
推荐指数
0
解决办法
1117
查看次数

scrollToRowAtIndexPath在iOS 8上无法正确滚动到底部

这里有一个奇怪的问题.我想将我的表视图滚动到第1部分第0行的底部.我正在使用此代码:

tableView.scrollToRowAtIndexPath(NSIndexPath(forRow: 0, inSection: 1), atScrollPosition: .Bottom, animated: true)
Run Code Online (Sandbox Code Playgroud)

它似乎在iOS 9.0及更高版本的模拟器中完美运行.但是在我的设备(iOS 8.1)和8.3的模拟器上,它完全相反.它滚动到单元格的顶部而不是底部!似乎很奇怪.我在这里做错了什么想法?非常感谢任何指针!谢谢

uitableview ios swift

3
推荐指数
1
解决办法
5877
查看次数