GitHub上有一个叫RESideMenu的开源组件实现了侧滑菜单的功能,最近一次更新左划右划都可以用了。去年10月注意到这个东西,后来自己也一直在用。
附上链接:https://github.com/romaonthego/RESideMenu
类似这样:
几个月前曾经粗略的阅读过源码,那时大致思路似乎是这样:
- 一个RootViewController持有一个LeftMenuView和ContentView,均是RootView的SubView,并在初始化的时候用addChildViewController添加LeftMenu和Content的ViewController。
- 通过GestureRecognizer根据需求调整View的Alpha,然后加CGAffineTransform并Animate。左划就缩放+平移ContentView然后调整LeftMenuView的Alpha为1,划回来则是相反,期间还有一个侧滑菜单文字的缩放特效。
- ContentViewController通常是个NavController,通过LeftMenuView用Storyboard初始化根视图控制器的。
Airbnb的侧滑,在滑动的动画效果里应该还加了Transform3DMakeRotation实现透视效果的样子。
个人感觉或者猜测左下角这个下三角可能是起到“重置LeftMenu和Content”的效果吧。
谢邀..个人水平一般般并没有逐行仔细阅读源码,如果有疏漏还请纠正。
— 完 —
本文作者:Cerulean
【知乎日报】
你都看到这啦,快来点我嘛 Σ(▼□▼メ)
此问题还有 1 个回答,查看全部。
延伸阅读:
iOS 最佳开发环境是什么?
12 岁如何入门 iOS 编程?