4

我有一个看起来像这样的模型:

样机1

这是一个可以滚动的大表格控制器。

当节标题到达页面顶部时,它会沿顶部冻结,如下所示:

样机2

哪个工作正常。但是,当您返回顶部并拉动刷新时,我希望它这样做:

在此处输入图像描述

因此,在顶部表格标题单元格和部分标题(不再冻结)之间出现了拉动刷新对话框。

这可能吗?我在搜索中没有找到这样的实现。

4

1 回答 1

1

您可以执行以下操作来实现此目的,

  1. 添加一个UIScrollView作为视图的子UIViewController's视图。
  2. 添加一个UIViewandUITableView作为这个滚动视图的子视图
  3. UIView内部滚动视图代表表格标题单元格。
  4. 部分标题可以是标题,UITableview表格内容代表UITableView's单元格。
  5. 添加UIRefreshControl为子视图UITableView并设置其目标方法。
  6. - (void)scrollViewDidScroll:(UIScrollView *)scrollViewUITableview和实现滚动视图委托UIScrollview
  7. 当您滚动表格视图时,只要表格视图标题向上移动,直到标题到达顶部,就移动父滚动视图。在滚动视图委托中添加一个 if 条件来检查这一点。
  8. 当表格视图向下移动时,移动父滚动视图直到UIView表格单元格标题在此停止滚动后可见,UIScrollview并允许表格视图滚动。这将启用UIRefreshControl.

这里的关键是- (void)scrollViewDidScroll:(UIScrollView *)scrollView方法以及如何实现滚动。您可以添加一个检查contentOffset以确定滚动了多少表视图和滚动视图。为了限制滚动,您可以在此委托方法中手动将此值设置为特定值,之后它将不会滚动。

于 2012-11-25T12:10:33.843 回答