ios的折叠工具栏布局
Posted
技术标签:
【中文标题】ios的折叠工具栏布局【英文标题】:Collapsing toolbar layout for ios 【发布时间】:2015-09-14 11:24:42 【问题描述】:我的应用程序有一个新设计,它包括用于在 tableView 顶部显示图像的视差滚动。
我知道如何通过将图像放入单元格来添加视差效果,就像这样 -
当 table scrollViewDidScroll 被调用时:
- (void)scrollViewDidScroll:(UIScrollView *)scrollView
CGPoint currentOffset = scrollView.contentOffset;
if (currentOffset.y > _lastContentOffset.y)
//Scroll Up
_containerView.clipsToBounds = true;
_bottomSpaceConstraint.constant = -scrollView.contentOffset.y / 2;
_topSpaceConstraint.constant = scrollView.contentOffset.y / 2;
else
//Scroll Down
_topSpaceConstraint.constant = scrollView.contentOffset.y;
_containerView.clipsToBounds = false;
_lastContentOffset = currentOffset;
(_bottomSpaceConstraint 和 _topSpaceConstraint 是第 0 部分 tableView 单元格内的 Image 顶部和底部约束)
但我的问题是,当图像达到导航栏的大小时,我需要停止向上滚动。 (我的导航栏背景是透明的)我不希望图像一直到顶部。但它是我的 tableView 内的一个单元格,所以它一直到顶部,直到它在滚动时消失。我需要帮助以阻止此图像滚动。如果我想达到这个效果,可能我的做法是不正确的。
这种效果在 android 上,它被称为“折叠工具栏布局”。 http://antonioleiva.com/collapsing-toolbar-layout/
有人知道如何为 ios 制作这种“折叠工具栏布局”效果吗?
非常感谢您的帮助!
【问题讨论】:
iOS 7 parallax effect in my view controller的可能重复 不,我想做这样的效果 - antonioleiva.com/collapsing-toolbar-layout github.com/bryankeller/BLKFlexibleHeightBar 【参考方案1】:尝试创建一个包含图像的 UIView,并在 tableView 中设置 tableHeaderView。然后在scrollViewDidScroll中:更新header view的高度和顶部约束。
【讨论】:
以上是关于ios的折叠工具栏布局的主要内容,如果未能解决你的问题,请参考以下文章
ViewHolder 中的嵌套 RecyclerView 破坏了折叠工具栏布局
使用 AppBarLayout.Behavior.DragCallback 控制折叠工具栏布局的滚动