将aN ImageView添加到导航栏的背面(非背景图像)

时间:2015-02-06 17:15:51

标签: ios objective-c uitableview uiscrollview

我正在尝试在导航栏的后面添加UIImageView
原因是因为我想要创建一个UITableView,其导航栏实际上是一张图片(左侧有后退按钮),但我希望图片能够与桌面视图一起滚动,并且图片完全滚动出来。导航栏按正常显示。
我对此问题的解决方案:
UIImageView的顶部添加UITableView并使导航栏透明。为contentOffset设置UITableViewUIScrollViewScrollView的子类,以便在显示视图时,看起来图片正在填充导航状态栏。
When the view is shown, it is exactly what I want. 问题:
如果我向上滚动而不是反弹,则会显示透明状态栏(背景颜色为透明状态)。
If I scroll up, instead of bouncing back, I see the transparent navigation bar. 解决这个新问题的可能方法:
我正在考虑限制UIImageView大小以解决问题但失败了。
所以我觉得可以将{{1}}添加到导航栏的“后面”,以便它没有任何偏移吗?从那以后,我的生活将变得更加轻松。
有关解决此方法或其他新方法以获得相同UI /效果的任何建议吗?
相关question.

1 个答案:

答案 0 :(得分:1)

我会通过在表格顶部添加一个包含图像的表格标题或单元格来完成此操作。

创建表格视图,使其一直延伸到屏幕顶部。扩展顶部栏选项。我没有使用UITableViewController完成此操作,但我在UITableView的视图中嵌入了UIViewController,并且视图的顶部约束设置为0,而不是顶部布局指南。

现在,当您运行此表时,您的表格将填满整个屏幕,顶部标题或单元格将显示在您的照片顶部。

滚动时,您可以使用UIScrollViewDelegate检测移动或实施tableView:didEndDisplayingCell:forRowAtIndexPath:

我不能100%确定您希望导航栏不清晰。如果它在图像离开屏幕的时候那么,那么完成显示细胞应该是好的。如果当单元格底部通过导航栏底部下方时,滚动视图可能是您唯一的选择。

当您下拉时,它也会像您期望的那样弹跳,它应该快速回到顶部。

希望这有帮助。