欢迎来到天天文库
浏览记录
ID:8969785
大小:1.37 MB
页数:9页
时间:2018-04-13
《ios培训-斗鱼直播app之弹出房间界面》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、玩转【斗鱼直播APP】系列之弹出房间界面作者:小码哥教育功能说明区分弹出秀场&普通房间如果用户是秀场直播,那么弹出秀场房间界面如果用户是电脑直播,那么弹出普通房间界面秀场界面弹出直接以Model方式,从底部弹出即可普通界面弹出将界面PUSH出来注意:1>界面push之后,不能再显示UITabbar(默认依然在下面)2>弹出的界面需要因此导航栏,但是首页导航栏依然正常展示3>弹出完成后,实现全屏Pop,手势左滑退出控制器效果展示弹出功能实现监听UICollectionView的Cell点击在BaseAnchorViewController中实现对应的代码方法监听即可创建两个房间的控制器(房间
2、不同,需要创建两个控制器)RoomNormalViewController(普通房间控制器)RoomShowViewController(秀场房间控制器)在监听Cell点击方法中执行弹出逻辑取出对应的AnchorModel对象根据anchor中的isVertical属性,判断弹出方式0:电脑直播1:手机直播根据方式,弹出控制器即可1.funccollectionView(_collectionView:UICollectionView,didSelectItemAtindexPath:IndexPath){2.//1.取出主播信息3.letanchor=baseVM.anchorGroup
3、s[indexPath.section].anchors[indexPath.item]4.5.//2.判断是手机直播&电脑直播6.anchor.isVertical==1?presentShowLiveVM(anchor:anchor):pushNormalLiveVM(anchor:anchor)7.}8.9.privatefuncpresentShowLiveVM(anchor:AnchorModel){10.//创建控制器11.letshowVC=RoomShowViewController()12.13.//弹出14.present(showVC,animated:true,co
4、mpletion:nil)15.}16.17.privatefuncpushNormalLiveVM(anchor:AnchorModel){18.//1.创建控制器19.letnormalVC=RoomNormalViewController()20.21.//2.push1.navigationController?.pushViewController(normalVC,animated:true)2.}显示&隐藏UINavigationBar显示&隐藏UINavigationBar使用下面方法即可navigationController.setNavigationBarHidden
5、(true,animated:true)true:隐藏false:显示在RoomNormalViewController的系统回调方法中分别执行对应的方法viewWillAppear:执行隐藏方法viewWillDisappear:执行显示方法注意:这样做会产生一个问题,就是原来系统的左边缘的滑动退出控制器手势无效了一旦我们隐藏了导航栏,那么该手势就会自动失效如果希望继续显示,则需要按照下面的步骤1>navigationController?.interactivePopGestureRecognizer?.delegate=self2>navigationController?.inte
6、ractivePopGestureRecognizer?.isEnabled=true代码如下:1.classRoomNormalViewController:UIViewController,UIGestureRecognizerDelegate{2.3.overridefuncviewDidLoad(){4.super.viewDidLoad()5.6.view.backgroundColor=UIColor.purple7.8.//保留Pop手势1.navigationController?.interactivePopGestureRecognizer?.delegate=self
7、2.navigationController?.interactivePopGestureRecognizer?.isEnabled=true3.}4.5.6.overridefuncviewWillAppear(_animated:Bool){7.super.viewWillAppear(animated)8.9.navigationController?.setNavigationBarHidden(true,ani
此文档下载收益归作者所有