【发布时间】:2014-12-22 17:10:33
【问题描述】:
我正在尝试实现UINavigationBar,它在滚动UITableView 时会改变其透明度。一开始导航栏的背景应该是透明的,所以它下面的内容应该是可见的(会有图片显示,比如我用的是纯色):
当用户滚动表格视图时,透明度应该被替换为纯色:
表格视图将包含部分标题,这应该像使用非半透明导航栏时一样。标题视图一旦从底部“触摸”导航栏,就应该“粘贴”到导航栏:
我没有运气尝试在 iOS 应用程序中实现此流程。
对于初始状态,我将UINavigationBartranslucent 属性设置为YES,并将backgroundColor 和barTintColor 设置为清除颜色,这给了我想要的。
然后,当用户滚动表格视图时,我将 backgroundColor 和 barTintColor 更新为具有给定 alpha 分量的颜色,根据当前滚动偏移量计算。我正在使用来自UIScrollViewDelegate 协议的scrollViewDidScroll: 来执行此操作。但是,它只改变了导航栏的背景,使状态栏背景透明,这不是我想要的。
如果不将translucent 属性设置为YES,我找不到另一种使UINavigationBar 透明的方法。不幸的是,这会改变部分标题在滚动时的行为方式。由于导航栏是半透明的,当部分标题视图应该像上面第三个屏幕截图一样“粘”在栏上时,它们会隐藏在其下方。
对于如何实现与 Objective-C 或 Swift 中描述或类似的导航栏的任何帮助和提示,我将不胜感激。
【问题讨论】:
-
嘿检查LTNavigationbar这可能会有所帮助。
-
谢谢@Prince!!很棒的发现!
-
一直在寻找 @PareshNavadiya 非常感谢。
-
您找到解决方案了吗?
标签: ios uitableview uinavigationbar