[发明专利]一种基于单一视图控制器的页面切换方法及系统有效
申请号: | 201810635637.6 | 申请日: | 2018-06-20 |
公开(公告)号: | CN108984245B | 公开(公告)日: | 2021-08-31 |
发明(设计)人: | 李佳;虞凡;张健 | 申请(专利权)人: | 武汉斑马快跑科技有限公司 |
主分类号: | G06F9/451 | 分类号: | G06F9/451 |
代理公司: | 北京路浩知识产权代理有限公司 11002 | 代理人: | 王莹;吴欢燕 |
地址: | 430000 湖北省武汉市东湖新技术开发区光谷大*** | 国省代码: | 湖北;42 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 单一 视图 控制器 页面 切换 方法 系统 | ||
本发明实施例提供一种基于单一视图控制器的页面切换方法及系统,包括:将多个子视图保存于视图控制器中;构建视图控制类,调用所述视图控制器中保存的视图到视图控制类的导航栈中进行显示;通过所述视图控制类,对所述导航栈中的视图进行切换。本发明提供的方法,可以在一个视图控制器下进行多个子视图的切换,并且具备视图层级效果,避免了因为多个视图控制器进行切换而导致内存消耗过大的问题,降低了iOS系统在需要进行多个视图切换时的内存消耗。
技术领域
本发明实施例涉及计算机技术领域,尤其涉及一种基于单一视图控制器的页面切换方法及系统。
背景技术
在iOS系统中,切换视图通常是通过导航控制器来控制视图的切换和跳转,导航控制器是一种容器视图控制器,它定义了一种基于堆栈的导航分层内容方案。导航控制器是在导航界面中管理一个或多个子视图控制器,在这种类型的接口中,每次只能看到一个子视图控制器,在使用过程中,导航控制器首选在导航栈中选择一个视图控制器,通过动画在屏幕上推出这个选中的视图控制器,同时隐藏先前的视图控制器,其中,视图控制器即ViewController,是iOS应用程序中重要的部分,是应用程序数据和视图之间的重要桥梁,ViewController管理应用中的众多视图。iOS的SDK中提供很多原生ViewController,以支持标准的用户界面,例如表视图视图控制器(UITableViewController)、导航视图控制器(UINavigationController)、标签栏视图控制器(UITabbarController)和iPad专有的UISplitViewController等。
使用导航界面模拟应用程序管理的分层数据组织,在层次结构的每个级别,提供一个适当的屏幕以显示该级别的内容,如图1示出了在IOS模拟器中设置应用程序提供的导航界面示例,第一个屏幕向用户显示包含偏好的应用程序列表,选择应用程序会显示该应用程序的单独设置和设置组,选择一个组UI产生更多的设置等等,其中,出了根视图外,导航控制器提供了一个后退按钮,运行用户返回上一层级跳转到一个新视图时,类似压栈,回到上个视图类似出栈,通过先进后出的原则控制视图控制器的切换次序。
在现有的切换视图过程中,导航控制器需要控制多个视图控制器,每一个视图控制器代表一个手机中的界面,如果要实现界面的切换,就需要创建多个视图控制器来切换显示,每个视图控制器在程序中都是一个对象,每次切换都需要生产初始化一个对象,如果多个视图控制器包含一些消耗性能的对象,例如地图,那么这种场景会导致内存消耗的持续增长。
发明内容
本发明实施例提供一种基于单一视图控制器的页面切换方法及系统,用以解决现有技术中导航控制器需要控制多个视图控制器,每一个视图控制器代表一个手机中的界面,如果要实现界面的切换,就需要创建多个视图控制器来切换显示,每个视图控制器在程序中都是一个对象,每次切换都需要生产初始化一个对象,如果多个视图控制器包含一些消耗性能的对象,例如地图,那么这种场景会导致内存消耗的持续增长的问题。
本发明实施例提供一种基于单一视图控制器的页面切换方法,包括:
将多个子视图保存于视图控制器中;
构建视图控制类,调用所述视图控制器中保存的视图到视图控制类的导航栈中进行显示;
通过所述视图控制类,对所述导航栈中的视图进行切换。
其中,所述通过所述视图控制类,对所述导航栈中的视图进行切换具体包括:在上述视视图控制器中,将目标视图进行压栈操作,并将所述导航栈中的当前视图进行出栈操作。
其中,所述将多个子视图保存于视图控制器中的步骤之前,还包括:创建所述导航栈的根视图,并将所述根视图保存在所述导航栈中。
其中,所述构建视图控制类,调用所述视图控制器中保存的视图到视图控制类的导航栈中进行显示的步骤还包括:若所述导航栈中没有视图,则将所述根视图作为当前视图进行显示。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于武汉斑马快跑科技有限公司,未经武汉斑马快跑科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201810635637.6/2.html,转载请声明来源钻瓜专利网。