0

我在 UITableViewController 中创建了一个简单的表格视图标题:

UIView *tableHeaderView = [[UIView alloc] initWithFrame:CGRectMake(0, 0, self.tableView.bounds.size.width, [[UIScreen mainScreen] bounds].size.height * 5 / 8)];

[tableHeaderView setBackgroundColor:[UIColor flatNavyBlueColorDark]];
[self.tableView setTableHeaderView:tableHeaderView];

现在我想创建一个捕捉/弹性行为,以便当用户滚动表头时,当 50% 的表头超出主屏幕的框架时,其余部分会自动捕捉,以便整个表头滚动出来。如这些图像所述:

标题完全扩展

用户滚动到这一点(中途)然后放手

此时,标题会自动关闭。

帮助?

4

1 回答 1

0

UIScrollViewDelegate 中有一个方法叫做scrollViewWillEndDragging:withVelocity:targetContentOffset:,当用户停止滚动时会调用它,并让您知道它将在哪里停止。

在那里您可以检查是否targetContentOffset.y在您想要的范围内,并对其进行修改,这将导致滚动视图停止在不同的位置。

于 2016-06-29T18:21:05.830 回答