JDFPeekaboo 是一个简单的类,当您向下滚动时隐藏导航栏,并在返回顶部时再次显示。实际上,它可以隐藏任何 UIView,如果您愿意,还可以隐藏屏幕底部的视图。
下面是它在使用中的一点小演示
它非常容易使用。只需添加一个属性即可
@property (nonatomic, strong) JDFPeekabooCoordinator *scrollCoordinator;
然后,设置它(比如在 -viewDidLoad
中)
self.scrollCoordinator = [[JDFPeekabooCoordinator alloc] init];
self.scrollCoordinator.scrollView = self.scrollView;
self.scrollCoordinator.topView = self.navigationController.navigationBar;
self.scrollCoordinator.bottomView = self.navigationController.toolbar;
有时,您可能需要暂时禁用 JDFPeekaboo
,例如,当您将另一个视图控制器推送到导航控制器中。提供了一些方便的方法来禁用(并重新启用)JDFPeekaboo
。有关更多信息,请参阅文档。
您还可以在我的博客文章中找到更多信息。
问:为什么屏幕顶部/底部有如下所示的黑色空隙
答:如果您的表视图没有扩展到 navigationBar
/tabBar
的后面,就会发生这种情况。您可以通过设置您的 UIViewController
/UITableViewController
的 edgesForExtendedLayout
(为 UIRectEdgeTop
/UIRectEdgeBottom
/UIRectEdgeAll
/ whatever is appropriate
)或通过在界面构建器中执行等效操作来修复此问题。
要运行示例项目,请克隆代码库,然后首先从项目目录运行 pod install
。
Joe Fryer, [email protected]
Twitter - JoeFryer88
JDFPeekaboo 适用于 MIT 许可。有关更多信息,请参阅 LICENSE 文件。
JDFPeekaboo
的方便方法。初始版本