分析iOS手机淘宝首页的设计

本文解析了淘宝APP首页的设计与实现,探讨了其使用UICollectionView或UIScrollView的技术细节,包括分隔线的处理方式、底部栏的设计、内容区域的布局逻辑以及不同屏幕尺寸下的适配等问题。
img_bb75a95753b3138ab408aa9bfde8b3a9.png
手机淘宝5.3.1(哆啦a梦版)
img_e7743c0a661c0c0daef13546a29adf19.png
手机淘宝5.3.1

手机淘宝的首页,信息量非常的大,展现的数据各不相同,所以要处理的逻辑非常多,所以,一直想分析它的设计,目前也找不能相关的资料,下面就是我自己要瞎说,不喜欢就走,禁喷!

使用的控件

  • 整个首页,不是用UICollectionView,就是UIScrollView构造的,至于实际用那种,简主也不知道。

细节图

img_fd9c4c8dbb1b81529ee051998a6a076e.png
首页图
  • 分隔线


    img_667dbdb90e7224d2d9f49fb37147087f.png
    细节1
img_9bbc25761e5d7d1f9f553811d02ec35c.png
分隔线不是单色的
img_041135e59579c87c9d626cb1e6cc6aa9.png
分隔线有白色条

根据这些图,分隔线又不是单色,应该是图片,但分隔线有小白条,我也不知道是怎么搞的了

  • 底部栏


    img_e01ccf9069d77ea0d23af749e0b64b97.png
    底部栏
img_741c01bc918f472aea052ab4f770c8dd.png
分隔线有空隙
img_f7e654413a410b13c55660d470ceb66d.png
用系统自带的tabbar
img_3bc634eaa7b89c163e6cc618d9f43ead.png
系统自带的黑线

系统自带的黑线,放大后,可以看到是半透明的黑色,苹果的细节做的也是很好的。最后结论,也就是淘宝是自定义的UITabBar。

  • 层次


    img_58b2eb3b4f050982258a9b302713ad99.png
    竖线
img_3bcaca8163b90ffa91f5ce250be7409e.png
竖线不是同一条线
img_02a206ae9a3c110b5bafa2ab333ecd45.png
横线和图片不是整体
img_36873541f721f9daae9446299d91da14.png
横线和图片不是整体,放大后颜色有区别

可以分析出来,淘宝的每一个栏目分区里,都是一个一个堆起来的,至于是怎么样做逻辑的处理?
也就是说,每一个图片,应该跳转到那个业务,是不是写死的,还是后台可以动态设置?

img_77a6f99da29926a9aff1b75c257408d4.jpe
6p/5s对比

在6p和5s下,对应的图片,会等比的放大。

img_aa832b24904ebf91775c0509896f56a1.png
每一个区展示的样式还不太一样

img_a564e8683c170c020c3fe3106142924c.png
不同区,还可能是全图

技术考虑

其实,这里面我认为最难的是,快速滚动时的流畅度:

  • 如果是利用重用的cell,但因为每个区内容样式不一样,每次重用时,又要删除,会导致多区时出现一卡一卡的。
  • 如果不重用的视图,那么视图太长了,占用内存太大,不可行啊。

最后,简主也不知道淘宝如何实现的,今天就到这,等以后明白了,在回来更新~

  • 如果有什么疑问,可以在评论区一起讨论;
  • 如果有什么不正确的地方,欢迎指导!


注:本文首发于 iHTCboy's blog,如若转载,请注明来源。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值