根据UITableView调整UIScrollView的高度

Ant*_*lli 5 objective-c uitableview uiscrollview ios

我有一个UIScrollView,其中包含一个UIView和一个UITableView。我的目标是调整UIScrollView的高度,以使我可以将UIScrollView的内容滚动到特定点。

这是我的观点:它的顶部是UIView,下面是UITableView。

在此处输入图片说明

滚动时,我希望UIView停在特定位置,如下所示: 在此处输入图片说明

tableView将能够继续滚动,但是UIView将被锁定在适当的位置,直到用户向上滚动并使UIView返回其原始状态为止。

我要尝试做的主要示例是iOS 6上的AppStore.app。当您查看应用程序的详细信息时,“详细信息”,“评论”和“相关”的过滤器栏将移至屏幕顶部并停止。我希望这一切都是有道理的。

谢谢

Ant*_*lli 2

我最终采用了一种更简单的方法。不敢相信我以前没有看到这个。我创建了两个视图,一个用于 UITableView 的 tableHeaderView,另一个用于 viewForHeaderInSection。我想要始终保持可见的视图放置在 viewForHeaderInSection 方法中,另一个视图放置在 tableHeaderView 属性中。我认为这是一种比使用滚动视图简单得多的方法。我使用这种方法遇到的唯一问题是这两个视图中的所有 UIView 动画不再有动画效果。这是我的代码。

[self.tableView setTableHeaderView:self.headerView];

- (UIView *)tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section {
     return self.tableViewHeader;
}
Run Code Online (Sandbox Code Playgroud)