一种控制界面旋转的方法技术

技术编号:39674793 阅读:6 留言:0更新日期:2023-12-11 18:41
本发明专利技术涉及研发过程优化领域,公开了一种控制界面旋转的方法

【技术实现步骤摘要】
一种控制界面旋转的方法、装置、计算机设备及存储介质


[0001]本专利技术涉及研发过程优化领域,尤其涉及一种控制界面旋转的方法

装置

计算机设备和存储介质


技术介绍

[0002]在移动互联网飞速发展的当下,人们越来越多地使用移动设备便携地连接互联网,当前移动设备的主流操作系统包括安卓
(Android)
系统与苹果
(iOS)
系统

而在使用移动设备时,用户通常会根据需要,调整设备方向,从而调整屏幕显示的方向,以获得更好的屏幕视觉效果

[0003]在
iOS(
全称为
iPhone Operation System)
开发中,
iOS
系统给出三个函数方法:
shouldAutorotate(
用于获取视图控制器的内容是否应该自动旋转
)
方法
、supportedInterfaceOrientations(
用于获取视图控制器支持的界面方向
)
方法和
preferredInterfaceOrientationForPresentation(
用于获取呈现视图控制器的界面方向
)
方法

应用程序通过读取这三个函数方法的返回结果,控制应用程序随屏幕旋转,该应用程序可以支持购物

社交

互动游戏r/>、
资源转移等功能

[0004]在传统方案中,应用程序只能通过监听上述三个函数方法的返回结果,控制应用程序随屏幕旋转

但在一些特定的情况下,需要由应用程序来控制界面旋转,例如,设置应用程序的部分界面禁止横屏显示

将部分禁止横屏显示的界面修改为允许横竖屏切换等

而此时,由于上述三个函数方法是只读方法,这导致应用程序无法控制自身不同界面进行简洁

灵活地旋转


技术实现思路

[0005]本专利技术实施例提供一种控制界面旋转的方法

装置

计算机设备及存储介质,以解决应用程序无法控制自身不同界面进行简洁

灵活地旋转问题

[0006]本专利技术第一方面,提供了一种控制界面旋转的方法,包括:
[0007]在应用程序的目标界面中,继承所述目标界面的根视图控制器,得到子类控制器;
[0008]在所述子类控制器中,生成自动旋转函数方法,用于获取所述子类控制器是否允许视图自动旋转;
[0009]在所述子类控制器中,生成控制器方向函数方法,用于获取所述子类控制器能够控制视图旋转的方向;
[0010]载入所述目标界面时,通过所述子类控制器的控制器方向函数方法和自动旋转函数方法,得到所述目标界面能够旋转的界面支持方向和是否允许自动旋转;
[0011]若不允许自动旋转,则将所述目标界面锁定为所述界面支持方向;
[0012]若允许自动旋转,则判断所述界面支持方向与设备屏幕方向是否一致,若一致,则将所述目标界面旋转至所述设备屏幕方向,若不一致,则将所述目标界面旋转至所述界面支持方向

[0013]在一种可能的设计方法中,所述继承所述目标界面的根视图控制器之前,所述方法还包括:
[0014]在所述根视图控制器中,生成设备屏幕方向分类;
[0015]通过所述设备屏幕方向分类,在所述根视图控制器中,生成变更旋转状态函数方法,用于开启或关闭自动旋转

[0016]在一种可能的设计方法中,所述子类控制器包括内容控制器和容器控制器,所述通过所述子类控制器的控制器方向函数方法和自动旋转函数方法,得到所述目标界面能够旋转的界面支持方向和是否允许自动旋转,包括:
[0017]调用所述应用程序的窗口根对象中的窗口方向函数方法,得到所述窗口根对象能够旋转的窗口支持方向;
[0018]调用所述容器控制器的控制器方向函数方法和自动旋转函数方法,得到所述容器控制器能够控制旋转的容器控制器支持方向,和所述容器控制器对应的视图能否自动旋转的容器旋转值;
[0019]调用所述内容控制器的控制器方向函数方法和自动旋转函数方法,得到所述内容控制器能够控制旋转的内容控制器支持方向,和所述内容控制器对应的视图能否自动旋转的内容旋转值;
[0020]综合所述窗口支持方向

容器控制器支持方向和内容控制器支持方向,得到所述界面支持方向;
[0021]综合所述容器旋转值和内容旋转值,得到所述目标界面是否允许自动旋转

[0022]在一种可能的设计方法中,所述判断所述界面支持方向与设备屏幕方向是否一致,包括:
[0023]生成用于判断所述界面支持方向与设备屏幕方向是否一致的工具类;
[0024]载入所述目标界面时,调用所述工具类,以判断所述界面支持方向与设备屏幕方向是否一致

[0025]在一种可能的设计方法中,所述生成用于判断所述界面支持方向与设备屏幕方向是否一致的工具类,包括:
[0026]生成界面方向变量;
[0027]通过所述界面方向变量,重新生成界面支持方向函数方法;
[0028]通过所述界面支持方向函数方法和所述设备屏幕方向,得出用于判断所述界面支持方向与设备屏幕方向是否一致的工具类

[0029]在一种可能的设计方法中,所述载入所述目标界面,包括:
[0030]在所述目标界面被显示前,触发界面载入函数方法;
[0031]通过所述界面载入方法,调用所述子类控制器的控制器载入函数方法

[0032]在一种可能的设计方法中,所述将所述目标界面旋转至所述设备屏幕方向或所述界面支持方向之后,所述方法还包括:
[0033]当所述目标界面被销毁时,显示所述目标界面的前置界面;
[0034]判断所述前置界面是否允许自动旋转;
[0035]若不允许自动旋转,则所述前置界面将锁定为所述前置界面的前置界面支持方向;
[0036]若允许自动旋转,则判断所述前置界面支持方向与所述目标界面的界面支持方向是否一致;
[0037]若方向一致,则将所述前置界面旋转至所述目标界面的界面支持方向

[0038]第二方面,提供了一种控制界面旋转的装置,包括:
[0039]继承模块,用于在应用程序的目标界面中,继承所述目标界面的根视图控制器,得到子类控制器;
[0040]第一生成模块,用于在所述子类控制器中,生成自动旋转函数方法,用于获取所述子类控制器是否允许视图自动旋转;
[0041]第二生成模块,用于在所述子类控制器中,生成控制器方向函数方法,用于获取所述子类控制器能够控制视图本文档来自技高网...

【技术保护点】

【技术特征摘要】
1.
一种控制界面旋转的方法,其特征在于,包括:在应用程序的目标界面中,继承所述目标界面的根视图控制器,得到子类控制器;在所述子类控制器中,生成自动旋转函数方法,用于获取所述子类控制器是否允许视图自动旋转;在所述子类控制器中,生成控制器方向函数方法,用于获取所述子类控制器能够控制视图旋转的方向;载入所述目标界面时,通过所述子类控制器的控制器方向函数方法和自动旋转函数方法,得到所述目标界面能够旋转的界面支持方向和是否允许自动旋转;若不允许自动旋转,则将所述目标界面锁定为所述界面支持方向;若允许自动旋转,则判断所述界面支持方向与设备屏幕方向是否一致,若一致,则将所述目标界面旋转至所述设备屏幕方向,若不一致,则将所述目标界面旋转至所述界面支持方向
。2.
如权利要求1所述控制界面旋转的方法,其特征在于,所述继承所述目标界面的根视图控制器之前,所述方法还包括:在所述根视图控制器中,生成设备屏幕方向分类;通过所述设备屏幕方向分类,在所述根视图控制器中,生成变更旋转状态函数方法,用于开启或关闭自动旋转
。3.
如权利要求1所述控制界面旋转的方法,其特征在于,所述子类控制器包括内容控制器和容器控制器,所述通过所述子类控制器的控制器方向函数方法和自动旋转函数方法,得到所述目标界面能够旋转的界面支持方向和是否允许自动旋转,包括:调用所述应用程序的窗口根对象中的窗口方向函数方法,得到所述窗口根对象能够旋转的窗口支持方向;调用所述容器控制器的控制器方向函数方法和自动旋转函数方法,得到所述容器控制器能够控制旋转的容器控制器支持方向,和所述容器控制器对应的视图能否自动旋转的容器旋转值;调用所述内容控制器的控制器方向函数方法和自动旋转函数方法,得到所述内容控制器能够控制旋转的内容控制器支持方向,和所述内容控制器对应的视图能否自动旋转的内容旋转值;综合所述窗口支持方向

容器控制器支持方向和内容控制器支持方向,得到所述界面支持方向;综合所述容器旋转值和内容旋转值,得到所述目标界面是否允许自动旋转
。4.
如权利要求1所述控制界面旋转的方法,其特征在于,所述判断所述界面支持方向与设备屏幕方向是否一致,包括:生成用于判断所述界面支持方向与设备屏幕方向是否一致的工具类;载入所述目标界面时,调用所述工具类,以判断所述界面支持方向与设备屏幕方向是否一致
。5.
如权利要求4所述控制界面旋转的方法,其特征在于,所述生成用于判断所...

【专利技术属性】
技术研发人员:黄炎
申请(专利权)人:中国平安人寿保险股份有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1