借知乎上的一篇帖子请教 链接如下
帖子整理了如下的交互导航模式:
- 底部标签式
- 跳板式
- 列表式
- 旋转木马式
- 抽屉式
- 点聚式
- 陈列棺式
- 瀑布式
我们的设计人员提出了各种模式的交互,用起来也相当的爽,不过作为一个开发者,我想了解一下这几种布局的具体实现该如何?
大部分比较常见,不过希望可以详细说说点聚式的交互该如何实现?
问题有点大,大家挑选自己擅长的回答一下好了
邀请作答: @OpenFibers @navy @gaosboy @coder @Yang_Fang @未解 @callmewhy
所有模式均有开源库与之对应,在此简单说下使用原生控件开发的思路。。。不一定对,如有错误还望指出谢谢。
底部标签式
UITabbar 。或者觉得不自由可以自己写个 Tabbar,几个并排的按钮来回切换,保留高亮效果即可。跳板式
如果按钮数目是固定的,那么用 UIButton 就行,AutoLayout 设置一下效果应该很好。如果数目不是固定的,那可以参考 UICollectionView,或者 UITableView ,或者直接就是UIView里面动态添加UIButton,手动算距离。可以看看这个:CNPGridMenu列表式
UITableView旋转木马式
UIScrollView + PageControl ,UIScrollView是容器,PageControl是小白点,通过UIScrollView的委托可以实现分页效果。抽屉式
汉堡菜单,网上有很多开源库,建议直接看开源库。点聚式
这个只能具体情况具体分析了,比如这个iOSCircularMenu陈列棺式
UICollectionView 或者 UITableView瀑布式
网上源码很多,一个简单地实现思路是:通过 addSubView 添加指定宽度的 UIView ,根据内容调整 UIView 的高度,并保留在 ParentView 里,这样下一个 UIView 可以在加上 margin 之后加载下面。
好吧大概就是这样,实现的思路多种多样,上面只是个人的想法。
其实我们用的都是英文的docs
所有有些时候语言上会有点误解
尽量用英文的词汇来描述会更好的让我们知道你问题的所在
其实这些交互导航模式的实现都没有说相当的难度
而且自从ios5之后加上控制器的叠加就使得控制器的使用更为之灵活
最关键的是要分析你应用程序的需求再定用哪个作为根部的控制器比较好