iOS培训-斗鱼直播APP之弹出房间界面

玩转【斗鱼直播APP】系列之弹出房间界面作者:小码哥教育功能说明区分弹出秀场&普通房间如果用户是秀场直播,那么弹出秀场房间界面如果用户是电脑直播,那么弹出普通房间界面秀场界面弹出直接以Model方式,从底部弹出即可普通界面弹出将界面PUSH出来注意:1>界面push之后,不能再显示UITabbar(默认依然在下面)2>弹出的界面需要因此导航栏,但是首页导航栏依然正常展示3>弹出完成后,实现全屏Pop,手势左滑退出控制器效果展示弹出功能实现监听UICollectionView的Cell点击在BaseAnchorViewController中实现对应的代码方法监听即可创建两个房间的控制器(房间不同,需要创建两个控制器)RoomNormalViewController(普通房间控制器)RoomShowViewController(秀场房间控制器)在监听Cell点击方法中执行弹出逻辑取出对应的AnchorModel对象根据anchor中的isVertical属性,判断弹出方式0:电脑直播1:手机直播根据方式,弹出控制器即可1.funccollectionView(_collectionView:UICollectionView,didSelectItemAtindexPath:IndexPath){2.//1.取出主播信息3.letanchor=baseVM.anchorGroups[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,completion:nil)15.}16.17.privatefuncpushNormalLiveVM(anchor:AnchorModel){18.//1.创建控制器19.letnormalVC=RoomNormalViewController()20.21.//2.push22.navigationController?.pushViewController(normalVC,animated:true)23.}显示&隐藏UINavigationBar显示&隐藏UINavigationBar使用下面方法即可navigationController.setNavigationBarHidden(true,animated:true)true:隐藏false:显示在RoomNormalViewController的系统回调方法中分别执行对应的方法viewWillAppear:执行隐藏方法viewWillDisappear:执行显示方法注意:这样做会产生一个问题,就是原来系统的左边缘的滑动退出控制器手势无效了一旦我们隐藏了导航栏,那么该手势就会自动失效如果希望继续显示,则需要按照下面的步骤1>navigationController?.interactivePopGestureRecognizer?.delegate=self2>navigationController?.interactivePopGestureRecognizer?.isEnabled=true代码如下:1.classRoomNormalViewController:UIViewController,UIGestureRecognizerDelegate{2.3.overridefuncviewDidLoad(){4.super.viewDidLoad()5.6.view.backgroundColor=UIColor.purple7.8.//保留Pop手势9.navigationController?.interactivePopGestureRecognizer?.delegate=self10.navigationController?.interactivePopGestureRecognizer?.isEnabled=true11.}12.13.14.overridefuncviewWillAppear(_animated:Bool){15.super.viewWillAppear(animated)16.17.navigationController?.setNavigationBarHidden(true,animated:true)18.}19.20.overridefuncviewWillDisappear(_animated:Bool){21.super.viewWillDisappear(animated)22.23.navigationController?.setNavigationBarHidden(false,animated:true)24.}25.}隐藏UITabbar在push时隐藏UITabbar非常简答因为系统已经提供了一个控制器的属性设置控制器的hidesBottomBarWhenPushed为true即可注意:所有的push控制器其实都需要因此,那么怎么办呢?方案一:抽取统一的父类方案二:截取push过程,在push的那一刻,设置控制器的属性该位置采取方案二:更为简单如何截取?自定义UINavigationController重写pushViewController(_viewController:UIViewController,animated:Bool)方法将之前的UINavigationController改成自定义的代码如下:1.classCustomNavigationController:UINavigationController{2.3.overridefuncviewDidLoad(){4.super.viewDidLoad()5.}6.7.overridefuncpushViewController(_viewController:UIViewController,animated:Bool){8.viewController.hidesBottomBarW...

1、当您付费下载文档后,您只拥有了使用权限,并不意味着购买了版权,文档只能用于自身使用,不得用于其他商业用途(如 [转卖]进行直接盈利或[编辑后售卖]进行间接盈利)。
2、本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供参考,付费前请自行鉴别。
3、如文档内容存在侵犯商业秘密、侵犯著作权等,请点击“举报”。

常见问题具体如下:

1、问:已经付过费的文档可以多次下载吗?

      答:可以。登陆您已经付过费的账号,付过费的文档可以免费进行多次下载。

2、问:已经付过费的文档不知下载到什么地方去了?

     答:电脑端-浏览器下载列表里可以找到;手机端-文件管理或下载里可以找到。

            如以上两种方式都没有找到,请提供您的交易单号或截图及接收文档的邮箱等有效信息,发送到客服邮箱,客服经核实后,会将您已经付过费的文档即时发到您邮箱。

注:微信交易号是以“420000”开头的28位数字;

       支付宝交易号是以“2024XXXX”交易日期开头的28位数字。

客服邮箱:

biganzikefu@outlook.com

所有的文档都被视为“模板”,用于写作参考,下载前须认真查看,确认无误后再购买;

文档大部份都是可以预览的,笔杆子文库无法对文档的真实性、完整性、准确性以及专业性等问题提供审核和保证,请慎重购买;

文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为依据;

如果您还有什么不清楚的或需要我们协助,可以联系客服邮箱:

biganzikefu@outlook.com

常见问题具体如下:

1、问:已经付过费的文档可以多次下载吗?

      答:可以。登陆您已经付过费的账号,付过费的文档可以免费进行多次下载。

2、问:已经付过费的文档不知下载到什么地方去了?

     答:电脑端-浏览器下载列表里可以找到;手机端-文件管理或下载里可以找到。

            如以上两种方式都没有找到,请提供您的交易单号或截图及接收文档的邮箱等有效信息,发送到客服邮箱,客服经核实后,会将您已经付过费的文档即时发到您邮箱。

注:微信交易号是以“420000”开头的28位数字;

       支付宝交易号是以“2024XXXX”交易日期开头的28位数字。

确认删除?