向 UITableView 动态添加行
Add rows dynamically to UITableView
我正在开发一个应用程序,该应用程序从 Web 服务中获取一些消息,这些消息 returns 按页面显示。我最初显示的是第一页,但如果用户想向下滚动并查看过去的消息,我应该请求下一页并获取消息。我的问题是,扩展 Table 视图并将消息添加到数据源并将它们加载到 table 以便用户可以看到它们的最佳方法是什么?
谢谢。
您可以检测到 table 视图何时靠近底部。请求更多数据,然后将其加载到 table 视图的数据源中。 (数组或您正在使用的任何东西)然后您只需重新加载 table 视图。行数可以是您正在使用的数据源。
我经常在我的应用程序中这样做。
创建包含一行的 'load more' 部分。在其中放置一个 activity 指标。在本部分的 'cellForItem' 中,在收到数据后发出请求并重新加载数据。
实现 UIScrollView 委托方法 scrollViewDidScroll
,并检查 table 是否已滚动到底部,然后更新您的数组以帮助 table 流行的数据源方法查看并调用 reloadData
:
-(void)scrollViewDidScroll:(UIScrollView *)scrollView
{
DLog(@"Did scroll: contentOffsetY: %f, contentHeight:%f", scrollView.contentOffset.y, scrollView.contentSize.height);
float scrollViewHeight = scrollView.frame.size.height;
float scrollContentSizeHeight = scrollView.contentSize.height;
float scrollOffset = scrollView.contentOffset.y;
if (scrollOffset + scrollViewHeight >= scrollContentSizeHeight)
{
// update your datasource/array that provides content to table view
[yourTableView reloadData];
}
}
我正在开发一个应用程序,该应用程序从 Web 服务中获取一些消息,这些消息 returns 按页面显示。我最初显示的是第一页,但如果用户想向下滚动并查看过去的消息,我应该请求下一页并获取消息。我的问题是,扩展 Table 视图并将消息添加到数据源并将它们加载到 table 以便用户可以看到它们的最佳方法是什么?
谢谢。
您可以检测到 table 视图何时靠近底部。请求更多数据,然后将其加载到 table 视图的数据源中。 (数组或您正在使用的任何东西)然后您只需重新加载 table 视图。行数可以是您正在使用的数据源。
我经常在我的应用程序中这样做。
创建包含一行的 'load more' 部分。在其中放置一个 activity 指标。在本部分的 'cellForItem' 中,在收到数据后发出请求并重新加载数据。
实现 UIScrollView 委托方法 scrollViewDidScroll
,并检查 table 是否已滚动到底部,然后更新您的数组以帮助 table 流行的数据源方法查看并调用 reloadData
:
-(void)scrollViewDidScroll:(UIScrollView *)scrollView
{
DLog(@"Did scroll: contentOffsetY: %f, contentHeight:%f", scrollView.contentOffset.y, scrollView.contentSize.height);
float scrollViewHeight = scrollView.frame.size.height;
float scrollContentSizeHeight = scrollView.contentSize.height;
float scrollOffset = scrollView.contentOffset.y;
if (scrollOffset + scrollViewHeight >= scrollContentSizeHeight)
{
// update your datasource/array that provides content to table view
[yourTableView reloadData];
}
}