【发布时间】:2016-03-12 16:23:17
【问题描述】:
这是我的UIView 的细分:
-
UIView在顶部。我将其用作包含其他对象的容器视图。 -
UITableView在容器视图下方。
我希望从 UITableView 开始滚动到容器视图上,然后滚动浏览表格的内容。
我希望我的表格有一个标题视图,该视图将固定在我的 UINavigationController 下方的顶部。
如果我执行myTableView.tableHeaderView 之类的操作,它会在导航栏下方滚动。
如果我使用表格视图方法添加标题视图,它会冻结在屏幕中间(它开始的地方)。
这是我的 viewDidLayoutSubviews 代码:
- (void)viewDidLayoutSubviews {
[super viewDidLayoutSubviews];
[self.myTableView setContentInset:UIEdgeInsetsMake(self.containerView.bounds.size.height, 0.f, 0.f, 0.f)];
[self.myTableView scrollRectToVisible:CGRectMake(0, 0, 1, 1) animated:NO];
float headerImageYOffset = 88 + self.containerView.bounds.size.height - self.view.bounds.size.height;
CGRect headerImageFrame = self.containerView.frame;
headerImageFrame.origin.y = headerImageYOffset;
}
这是我的标题代码和滚动代码:
- (UIView *)tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section {
// This is made in Interface Builder
return self.headerView;
}
- (CGFloat)tableView:(UITableView *)tableView heightForHeaderInSection:(NSInteger)section {
return 50;
}
- (void)scrollViewDidScroll:(UIScrollView *)scrollView {
CGFloat scrollOffset = -scrollView.contentOffset.y;
CGFloat yPos = scrollOffset - _containerView.bounds.size.height;
_containerView.frame = CGRectMake(0, yPos, _containerView.frame.size.width, _containerView.frame.size.height);
}
需要改进哪些内容才能让表头随表格滚动并停留在顶部导航栏下方?
如果需要查看其他代码,请告诉我。
编辑:
我添加了更多与我想要完成的工作相匹配的代码。见上文。
【问题讨论】:
标签: ios objective-c uitableview