欢迎界面:
![](https://img.haomeiwen.com/i2266715/24b873e91977483f.png)
![](https://img.haomeiwen.com/i2266715/14f6a0c0f824926f.gif)
menu按钮:
![](https://img.haomeiwen.com/i2266715/1e3d301b712df6d0.gif)
menu按钮是一个存在于所有controller的按钮(包括首页与详情页)
为此将按钮进行了封装设计:
menu按钮,作为一个uiview,当任意controller将它作为subview添加进来时,controller就拥有了通过对menuButton的点击,拖拽,展示背后的menuController的能力;
背后的menuController 为appDelegate所持有,全局只存在一个,它的view被放在App的keyWindow之上,在rootViewController之下,当用户在操作界面点击menuButton或拖拽时候,将rootViewController下移,便露出了底下的menuController
关于动画实现: 当用户拖拽界面上的menuButton时,封装起来的menuButton将会对手势进行处理:计算手势移动的百分比,并通知menuController将动画展示到相应位置.在拖拽手势速度较快时,便打开或者关闭menuController.
browseRecord浏览记录界面:右侧的界面记录着用户最近浏览的20件商品(下文有展开)
menu界面的设计亮点:
为拥有沉浸式体验的app提供了一个便捷的入口,用户在任何情况下都可以便捷的打开进入(即使当导航条隐藏时,仍有边缘拖拽手势可以进入menu).
menu代替了tabBar,也拥有了更丰富的扩展性,各个模块的切换,用户详情页,包括个人认为最常用到的搜索按钮,都存在于此界面中.
沉浸式的体验使menuButton成为用户目所能及的唯一可扩展入口,所以也不用担心用户原本的用户习惯会找不到搜索按钮等功能.
宝贝详情页面
![](https://img.haomeiwen.com/i2266715/0330d8befd33513b.gif)
BrowseRecordView(宝贝浏览记录)
![](https://img.haomeiwen.com/i2266715/f5fdea9759f429da.gif)
BrowseRecord记录了用户浏览的近20件商品,在menuView中展示.
当商品详情页被成功加载(也就是用户成功浏览了此商品后),以menuButton作为媒介,传递到menucontroller进行更新并展示记录(去重),并将记录进行存档,下次打开时,记录仍存在.
当用户点击menuController的浏览记录:menuController选择将新的界面push到navigationController中,并将自己收起.
小细节
![](https://img.haomeiwen.com/i2266715/53718d57e24990c4.gif)
![](https://img.haomeiwen.com/i2266715/6846985ad90690ae.gif)
网友评论