第二十篇玩转【斗鱼直播APP】系列之“趣玩”界面展示
2016-10-21 15:38
495 查看
趣玩界面展示
展示效果
效果展示效果分析
该界面就是一个UICollectionView,并且使用CollectionNormalCell展示内容即可
因为之前已经抽取了BaseAnchorViewController,所有集成自即可拥有UICollectionView
之后,请求对应数据,在家对应数据即可
界面布局
继承自BaseAnchorViewController重写setupUI方法,设置布局
因为该UICollectionView不需要headerView,所有需要重新设置布局
另外,可以给UICollectionView添加一个顶部内边距(有距离会好看点)
class FunnyViewController: BaseAnchorViewController {
}
// MARK:- 设置UI界面的内容
extension FunnyViewController {
override func setupUI() {
super.setupUI()
let layout = collectionView.collectionViewLayout as! UICollectionViewFlowLayout
layout.headerReferenceSize = CGSize.zero
collectionView.contentInset = UIEdgeInsets(top: 8, left: 0, bottom: 0, right: 0)
}
}
请求展示数据
封装用于请求趣玩数据的ViewModelclass FunnyViewModel: BaseViewModel {
}
extension FunnyViewModel {
func loadFunnyData(finishedCallback : @escaping () -> ()) {
loadAnchorData(isGroupData: false, URLString: "http://capi.douyucdn.cn/api/v1/getColumnRoom/3", parameters: ["limit" : 0, "offset" : 0], finishedCallback: finishedCallback)
}
}
请求数据,刷新表格即可
// MARK:- 请求数据
extension FunnyViewController {
override func loadData() {
baseVM = funnyVM
funnyVM.loadFunnyData {
self.collectionView.reloadData()
}
}
}
总结:
我们发现做了父类抽取后,如果再实现类似的界面非常简单不需要写重复的代码
业务逻辑封装也非常清晰
建议:在开发中,尽量将相似的功能进行抽取
相关文章推荐
- 第十七篇玩转【斗鱼直播APP】系列之娱乐基本展示
- 小码哥-玩转【斗鱼直播APP】系列之游戏推荐展示
- 玩转【斗鱼直播APP】系列之游戏界面实现
- 小码哥-斗鱼直播APP之“趣玩”界面展示
- 小码哥-玩转【斗鱼直播APP】系列之布局推荐界面
- 玩转【斗鱼直播APP】系列之游戏推荐展示
- 第十八篇玩转【斗鱼直播APP】系列之娱乐菜单展示
- 小码哥-玩转【斗鱼直播APP】系列之请求展示推荐数据
- 玩转【斗鱼直播APP】系列之布局推荐界面
- 玩转【斗鱼直播APP】系列之界面分析
- 第二十二篇玩转【斗鱼直播APP】系列之弹出房间界面
- 小码哥-玩转【斗鱼直播APP】系列之界面分析
- 玩转【斗鱼直播APP】系列之请求展示推荐数据
- 小码哥-玩转【斗鱼直播APP】系列之框架搭建
- 小码哥-玩转【斗鱼直播APP】系列之项目部署
- 小码哥-玩转【斗鱼直播APP】系列之首页导航栏设置
- 第二十一篇玩转【斗鱼直播APP】系列之加载数据动画
- 小码哥-玩转【斗鱼直播APP】系列之利用青花瓷抓取数据
- 第十六篇玩转【斗鱼直播APP】系列之内容简介
- 第二十四篇玩转【斗鱼直播APP】系列之采集视频