隐藏带有小标题的导航栏iOS

时间:2014-07-29 08:59:12

标签: ios objective-c animation uinavigationcontroller uinavigationbar

我想要隐藏导航栏但仍然包含一个小的解密,就像Safari或IMDb应用程序一样。看图像,这是我正在寻找的效果。如何在用户开始滚动时显示/隐藏导航栏,还包括标题。这应该是动画的,但不需要逐步动画,所以如果动画开始就足够了。

我已经查看了多个答案,例如:Imitate Facebook hide/show expanding/contracting Navigation Bar,但它没有描述如何设置小标题。

enter image description here

2 个答案:

答案 0 :(得分:0)

以下是建议 - 在向上滚动时,您可以隐藏导航栏并粘贴一个透明的标题视图,其标题始终位于屏幕顶部(您可以将此透明视图添加到'窗口&# 39;如果你喜欢)。在向下滚动时隐藏透明标题视图并添加导航栏。希望这有帮助!

答案 1 :(得分:0)

此问题的大多数解决方案是隐藏导航栏并粘贴透明标题视图,标题始终位于屏幕顶部"。

但如果你持有Safari的搜索栏,搜索栏的背景会变暗(作为已选中的标志),当你同时向上滚动时,你会发现变暗区域逐渐变小(并且searchBar能够响应触摸事件,而#34;消失")。也就是说,Apple并没有通过简单地替换导航栏来实现它。

另一种方式:

  1. 设置scrollView的委托
  2. 在" scrollViewDidScroll:"中,获取offSet,然后像这样更改navigationBar的框架:
  3. `navigationBar.transform = CGAffineTransformMakeScale(sx,sy);'

    1. 正确设置navigationBar的框架;
    2. 逐渐改变searchBar的背景颜色;
    3. 更改searchBar文本的文字颜色 逐渐。
    4. 希望这可以帮助你:)