iOS培训-斗鱼直播APP之游戏推荐展示

时间:2022-08-01 11:03:49 阅读: 最新文章 文档下载
说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。
玩转【斗鱼直播APP】系列之游戏推荐展示

作者:小码哥教育

游戏推荐展示

展示效果



展示效果



思路分析



其实这个实现比较简单,也是有两种方案

UIScrollView:直接在上面放上UIButton即可 UICollectionView:每一个游戏用一个Cell来展示

方案选择

方案二:UICollectionView来实现

一方面可以循环利用,另一方面UICollectionView真的非常好用喔

界面搭建



自定义RecommendGameView

由于内容比较固定,直接通过xib描述


添加UICollectionView即可





设置UICollectionView的布局,设置数据源以及实现数据源方法(见代码) 切记:设置自定义ViewautoresizingMask = .None,否则控件将不能

显示

1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24.

classRecommendGameView:UIView{ // MARK: 控件属性

@IBOutlet weak var collectionView:UICollectionView!

// MARK: 系统回调

override func awakeFromNib(){ super.awakeFromNib()

autoresizingMask =.None

let layout = collectionView.collectionViewLayout

as!UICollectionViewFlowLayout

layout.itemSize =CGSize(width: kGameCellW, height:

kGameViewH)

collectionView.contentInset =UIEdgeInsets(top:0, left:10,

bottom:0, right:10)

} }

// MARK:- 提供快速创建的类方法 extension RecommendGameView{

class func recommendGameView()->RecommendGameView{

returnNSBundle.mainBundle().loadNibNamed("RecommendGameView",

owner:nil, options:nil).first as!RecommendGameView

} }


25. 26. 27. 28. 29. 30. 31. 32.

// MARK:- 遵守UICollectionView的数据源&代理 extension

RecommendGameView:UICollectionViewDataSource,UICollectionViewDelegate{ func collectionView(collectionView:UICollectionView,

numberOfItemsInSection section:Int)->Int{

return10 }

func collectionView(collectionView:UICollectionView,

cellForItemAtIndexPath indexPath:NSIndexPath)->UICollectionViewCell{ let cell =

collectionView.dequeueReusableCellWithReuseIdentifier(kGameCellID, forIndexPath: indexPath)as!CollectionGameCell



cell.backgroundColor =

indexPath.item %2==0?UIColor.redColor():UIColor.blueColor()



return cell } }

将自定义View添加到UICollectionView

33. 34. 35. 36. 37. 38.







懒加载RecommendGameView对象 gameView添加到UICollectionView 设置UICollectionView的内边距 代码如下:



懒加载RecommendCycleView



1. private lazy var gameView :RecommendGameView={ 2. let gameView =RecommendGameView.recommendGameView() 3. gameView.frame =CGRect(x:0, y:-kGameViewH, width: kScreenW,

height: kGameViewH)



4.

return gameView


本文来源:https://www.wddqw.com/doc/0ea565f1f605cc1755270722192e453610665bd3.html