首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何复制Chrome应用的地址栏行为

如何复制Chrome应用的地址栏行为
EN

Stack Overflow用户
提问于 2013-09-25 04:16:34
回答 1查看 274关注 0票数 2

有没有人知道有没有什么项目或者什么东西可以复制iOS中chrome应用的地址栏行为?也就是说,向下滚动时,它会隐藏起来,如果我在表格中间,向上滚动,地址栏就会出现。

谢谢!

EN

回答 1

Stack Overflow用户

发布于 2013-09-25 04:28:39

大多数导航隐藏的工作方式是通过监听滚动/表格/web视图中的滚动事件并调整导航栏的中心。

您将使您的视图控制器成为相关视图的委托,并应用某种级别的逻辑:

代码语言:javascript
复制
- (void)scrollViewDidScroll:(UIScrollView *)scrollView
{
    CGFloat scrollOffset = scrollView.contentOffset.y;
    CGPoint navigationBarCenter = self.navigationController.navigationBar.center;

    // A bunch of calculations
    navigationBarCenter.y = newlyCalculatedPosition;

    self.navigationController.navigationBar.center = navigationBarCenter;
}

对于这种特定的行为,他们从滚动开始的位置开始计算,并说“如果我向下滚动,导航栏中心应该是它的原始中心减去滚动的距离。如果我向上滚动,导航栏中心应该从屏幕外增加到正常位置。

然后,当滚动结束,导航栏部分显示在屏幕上时,你必须决定该怎么做。你是全部展示还是只展示一部分?

在iOS7之前,你还需要担心滚动视图的边框。iOS7的默认行为是让视图控制器扩展到设备的完整大小,而iOS6的默认行为是填充导航栏和工具栏之间的空间。您可以通过使用半透明导航栏来解决此问题,但需要调整内容和滚动指示器插入,以便在不滚动时将内容限制在内部区域。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18991230

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档