我在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%是主屏幕的框架外,它的其余部分自动抓取,使整个标题滚动出来。如下图所示:
头部完全扩展
用户滚动到该点(一半),然后放开
此时,页眉自动关闭。
帮助吗?
在UIScrollViewDelegate中有一个方法叫做scrollViewWillEndDragging:withVelocity:targetContentOffset:
,它在用户停止滚动时被调用,并让你知道它将在哪里停止
你可以检查targetContentOffset.y
是否在你想要的范围内,并修改它,这将导致滚动视图在不同的位置停止