不知到大家在软件开发过程中,一般在App首页顶部view都显示轮播图广告,把最近点击率最好的活动放在首页吸引用户眼球,然后发起点击轮播图操作到对应的商品详情页,然后完成下单支付操作到订单过程。
那么话不多说,我们开始来详细描述发现页面轮播图UI组件开发实现过程:
1 从服务端发起请求获取网络动态轮播图返回的数据
在DiscoveryController发现VC里面创建loadData函数,并在loadData函数里面调用DefaultRepositroy的bannerAds轮播图网络请求函数,将服务端返回的结果存储BannerData数据模型里面。在initDataNum初始化函数调用loadData。
![](https://img.haomeiwen.com/i1371985/1e69c98784f86d5c.png)
2 在发现列表创建BannerCell,在cell添加1个label测试
创建BaseTableViewCell 封装cell的初始化UI和数据绑定的方法和自动高度设置的方式
![](https://img.haomeiwen.com/i1371985/fb1abc2b85cd3e6d.png)
创建轮播图BannerCell继承BaseTableViewCell,并创建1个labe测试是否能添加在轮播图上
![](https://img.haomeiwen.com/i1371985/7f9c6e12f60d5930.png)
![](https://img.haomeiwen.com/i1371985/59471107703c63f8.png)
3 利用YJBannerView开源框架实现轮播图UI和Data的绑定
引入YJBannerView的源码到工程项目目录里面,设置轮播图BannerCell布局--container的内边距+比例尺+圆角+占位图+颜色,并添加绑定服务端数据的方法bind
![](https://img.haomeiwen.com/i1371985/838405e5d4559e55.png)
![](https://img.haomeiwen.com/i1371985/1ec95de00d650854.png)
在发现VC数据源回调函数调用BannerCell
![](https://img.haomeiwen.com/i1371985/b183a88ad7210101.png)
4 实现轮播图点击功能 -- 用block实现
定义1个BannerCell点击的block的回调函数bannerClick
![](https://img.haomeiwen.com/i1371985/b90ada2b7fd5590a.png)
实现YJBannerView的didSelectItemAt轮播图点击的回调函数
![](https://img.haomeiwen.com/i1371985/c0abd80a11749457.png)
在发现DiscoveryController里面的tableview列表的 cellForRowAt函数实现cell的block回调函数
![](https://img.haomeiwen.com/i1371985/310ec9d1d4f87306.png)
声明processAdClick轮播图函数并实现相应跳转H5网页预留接口
![](https://img.haomeiwen.com/i1371985/fe86415ecaf64834.png)
运行进行点击测试截图
![](https://img.haomeiwen.com/i1371985/26ce468e502bbca0.png)
5 运行模拟器测试看效果
![](https://img.haomeiwen.com/i1371985/a210d3b2f9d62411.png)
总结:
看着一个很小的轮播图组件其实背后隐藏着很深的交互行为,当然点击了不下单只是增加了用户埋点的数量,但是这样也能给用户提供相关的数据进行分析用的行为。
网友评论