UIScrollView 标题视图?
Posted
技术标签:
【中文标题】UIScrollView 标题视图?【英文标题】:UIScrollView header view? 【发布时间】:2014-11-15 20:04:04 【问题描述】:我有一个控制器,它的顶部有一个 UIView 和一些按钮和标签。下面我有一个 UIScrollView 也包含内容。我希望顶部的 UIView 基本上可以工作并作为此滚动视图的标题出现,类似于 UITableViewHeader。我正在使用带有 contentOffset 的 scrollViewDidScroll 委托方法来尝试让它工作,但我似乎无法得到正确的数学。
这个想法是,当滚动视图向上滚动时,“标题”将相对于内容向上滚动。它甚至可以滚出屏幕。然后,当您向下滚动时,它将粘在滚动视图的顶部。就像我说的,与 UITableViewHeader 的功能非常相似。
任何有关计算此数学的帮助将不胜感激!
这是我目前所拥有的:
- (void)scrollViewDidScroll:(UIScrollView *)scrollView
CGRect updatedSegmentFrame = self.segmentedControlContainerView.bounds;
CGRect updatedTableViewFrame = self.viewControllerThree.tableView.frame;
CGFloat topEdge = -scrollView.contentOffset.y;
if (topEdge >= 0)
updatedSegmentFrame.origin.y = 0;
else
updatedSegmentFrame.origin.y = -scrollView.contentOffset.y;
self.viewControllerThree.tableView.frame = updatedTableViewFrame;
self.segmentedControlContainerView.frame = updatedSegmentFrame;
此代码将外部“标题视图”与 UIScrollView 一起移动,一切都按预期工作。唯一缺少的是,当您向上滚动时,UIScrollView 需要变大以抵消 headerView 离开屏幕。
【问题讨论】:
你能发布你目前所拥有的吗? @Acey 刚刚添加。 您是否希望它的行为类似于 Game Center 应用程序中的游戏屏幕,其中段控制器粘在顶部,顶部滚动到屏幕外?如果是这样,我会提供一种稍微不同的方法。 使用更容易的约束。 【参考方案1】:这是我为与您所描述的行为相似的标头提供的解决方案:FixedHeaderTableView。
在您的情况下,您将为 visibleHeaderHeight 参数传入 0。
【讨论】:
以上是关于UIScrollView 标题视图?的主要内容,如果未能解决你的问题,请参考以下文章
UIScrollView 阻止我的 UIGesture 进行视图转换
使 UIScrollView 中的顶部图像在滚动视图边界上放大?