像Facebook或Safari一样折叠UINavigationBar?

时间:2014-01-30 16:59:19

标签: ios iphone uiscrollview uinavigationbar

我的应用中有几个UIViewController - 特别是在UIWebView中显示网页内容的内容 - 这样可以折叠UINavigationBar的高度,就像你在Facebook应用程序或iOS上的Safari中滚动一样。但是,我不能为我的生活弄清楚这是怎么做的。

我认识到我可能需要关闭UIScrollViewDelegate scrollViewDidScroll:方法,但到目前为止还没有取得多大成功。谁能给我一些关于如何实现这一目标的指示?我确实看到了AMScrollingNavbar项目,但由于公司的要求,我无法在我们的应用程序中使用它。

1 个答案:

答案 0 :(得分:1)

我是AMScrollingNavbar的创建者 从代码中可以看出,我发现实现该行为的最佳方法是使用手势识别器。它是实现其委托协议的关键,为方法返回YES:

- (BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldRecognizeSimultaneouslyWithGestureRecognizer:(UIGestureRecognizer *)otherGestureRecognizer

对于UIWebView,请记住您必须处理webview中的滚动视图包含。 您可以在源代码中找到更多信息,因为我在MIT许可下发布了它,所以请随意将其包含在您的商业项目中,或者根据您的需要进行修改。

我还发表了一篇关于我用来创建库的过程的文章,你可以在这里阅读: AMScrollingNavbar: Creating a Cocoapod

它解释了我在编写库时遇到的一些问题。

希望这会有所帮助。 干杯