相关疑难解决方法(0)

如何检测UITableView的加载结束

我想在加载完成后更改表的偏移量,并且该偏移量取决于表上加载的单元格数.

是否可以通过SDK知道uitableview加载何时完成?我在委托和数据源协议上都没有看到任何内容.

我不能使用数据源的计数,因为只加载可见单元格.

iphone uitableview ios

137
推荐指数
9
解决办法
13万
查看次数

UITableView,重新加载时滚动到底部?

我有一个UITableViewcells被动态地更新.一切正常,除了tableview.reload调用时(见下文)刷新cells表中我希望表滚动到底部以显示新条目.

- (void)reloadTable:(NSNotification *)notification {
    NSLog(@"RELOAD TABLE ...");
    [customTableView reloadData];
    // Scroll to bottom of UITable here ....
}
Run Code Online (Sandbox Code Playgroud)

我打算使用scrollToRowAtIndexPath:atScrollPosition:animated:但后来注意到我无法访问indexPath.

有谁知道怎么做,或者delegate我可以使用的回调?

iphone cocoa-touch objective-c

60
推荐指数
8
解决办法
7万
查看次数

scrollToRowAtIndexPath无法正确处理最后一行

我遇到的问题UITableView是它在使用时似乎无法正确滚动到最后一行scrollToRowAtIndexPath:atScrollPosition:animated

这是我用来导致滚动的代码:

[self.tableView scrollToRowAtIndexPath:indexPath
                      atScrollPosition:UITableViewScrollPositionMiddle 
                              animated:YES];
Run Code Online (Sandbox Code Playgroud)

这是一个截图,显示结果(和问题!):

UITableView滚动问题截图

如您所见,最后一行(九月)未完全滚动到视图中; 底部几个像素被切断.

我尝试过使用UITableViewScrollPositionNone,UITableViewScrollPositionTop并且UITableViewScrollPositionBottom作为滚动位置,但它们都产生相同的结果.

我的单元格的自定义单元格高度61.0f当前在故事板中设置,但添加UITableViewDelegate方法tableView:heightForRowAtIndexPath:并返回相同的值也无济于事.

有什么办法,我可以得到表视图滚动到最后一排拥有它完全可见?

编辑:

为了清楚起见,我正在使用UINavigationController股票UITableViewController作为根视图控制器.

编辑2:

如果我rectForRowAtIndexPath:用来确定行的rect,它实际上会返回该行的正确rect.但是如果我然后scrollRectToVisible:animated:使用那个rect 调用,我会得到与上面相同的结果; 底部几个像素被切断.

iphone user-interface objective-c uitableview ios

16
推荐指数
1
解决办法
7065
查看次数

在视图显示之前立即滚动到表格中的行

带有表格的视图会被推到屏幕上,我希望它在屏幕实际显示之前滚动到表格中的某一行.我在最终的viewcontroller中使用这段代码.

NSIndexPath *scrollToPath = [NSIndexPath indexPathForRow:5 inSection:0]; 
[theTable scrollToRowAtIndexPath:scrollToPath atScrollPosition:UITableViewScrollPositionTop animated:NO];
Run Code Online (Sandbox Code Playgroud)

当我把它放在viewDiDAppear方法中时,它会从表格的初始位置(在顶部)短暂闪烁到我想要的行.我不希望它显示初始位置.如果我将它放在viewDidLoad或viewWillAppear中,那么它会因NSRangeException崩溃,可能是因为该表尚未设置.

如何在不显示初始位置的情况下滚动它?

iphone cocoa-touch scroll objective-c uitableview

11
推荐指数
1
解决办法
7735
查看次数

是否有可能在UITableView重新加载完成后获得回调?

我正在我的表视图中重新加载一些单元格.重新加载完成后,我想滚动以便它们可见.我知道scrollToRowAtIndexPath:atScrollPosition:方法.但是我需要在重新加载完成后调用它,因为重载将改变行高.

以下是一些相关问题,但它们并没有完全回答我的问题.
UITableView,重新加载时滚动到底部?
如何在最后一个单元格上启动UITableView

编辑 - 我的重新加载不插入或删除任何行.相反,我正在重新加载一个或多个单元格以反映更新的信息.

iphone animation scroll uitableview ios

9
推荐指数
1
解决办法
8029
查看次数