用小标题隐藏导航栏iOS

Posted

技术标签:

【中文标题】用小标题隐藏导航栏iOS【英文标题】:Hide navigationbar iOS with tiny title 【发布时间】:2014-07-29 08:59:12 【问题描述】:

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

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

【问题讨论】:

【参考方案1】:

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

【讨论】:

【参考方案2】:

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

但是如果你按住 Safari 的 searchBar,searchBar 的背景会变暗(作为被选中的标志),同时在你向上滚动的同时,你会发现变暗的区域逐渐变小(并且 searchBar能够在“消失”时响应触摸事件)。也就是说,Apple 并不是通过简单地更换导航栏来实现的。

另一种方式:

    设置滚动视图的委托 在“scrollViewDidScroll:”中,获取offSet,然后像这样改变navigationBar的frame:

`navigationBar.transform = CGAffineTransformMakeScale(sx, sy);'

    正确设置导航栏的框架; 逐渐改变searchBar的背景颜色; 改变searchBar文字的文字颜色 逐渐地。

希望对你有帮助:)

【讨论】:

以上是关于用小标题隐藏导航栏iOS的主要内容,如果未能解决你的问题,请参考以下文章

iOS导航栏的正确隐藏方式

iOS导航栏的正确隐藏方式

iOS导航栏的正确隐藏方式

隐藏导航栏将视图“向上”移动

屏幕键盘出现时iOS隐藏导航栏

iOS - 仅在一个视图上隐藏导航栏?