CN114416234B - 一种页面切换方法、装置、计算机设备及存储介质 - Google Patents

一种页面切换方法、装置、计算机设备及存储介质 Download PDF

Info

Publication number
CN114416234B
CN114416234B CN202111627698.6A CN202111627698A CN114416234B CN 114416234 B CN114416234 B CN 114416234B CN 202111627698 A CN202111627698 A CN 202111627698A CN 114416234 B CN114416234 B CN 114416234B
Authority
CN
China
Prior art keywords
page
controller
access page
access
display
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202111627698.6A
Other languages
English (en)
Other versions
CN114416234A (zh
Inventor
郭舒欣
詹琴
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Netease Hangzhou Network Co Ltd
Original Assignee
Netease Hangzhou Network Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Netease Hangzhou Network Co Ltd filed Critical Netease Hangzhou Network Co Ltd
Priority to CN202111627698.6A priority Critical patent/CN114416234B/zh
Publication of CN114416234A publication Critical patent/CN114416234A/zh
Application granted granted Critical
Publication of CN114416234B publication Critical patent/CN114416234B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/451Execution arrangements for user interfaces

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

本申请实施例公开了一种页面切换方法、装置、计算机设备及存储介质。本方案在控制当前显示页面的第一控制器与控制下一显示页面的第二控制器之间创建一个中间控制器,设置中间控制器为与第一控制器和第二控制器不同的模态显示形式,当需要将当前显示页面切换至下一显示页面时,对当前显示页面进行截图,并通过中间控制器显示截图,然后通过中间控制器触发第二控制器显示下一显示页面,将第一控制器与第二控制器隔离,当第二控制器控制下一显示页面显示时,以使第一控制器运行逻辑不受影响,从而可以保证页面切换过程中程序正常运行。

Description

一种页面切换方法、装置、计算机设备及存储介质
技术领域
本申请涉及计算机技术领域,具体涉及一种页面切换方法、装置、计算机设备及存储介质。
背景技术
在终端切换访问页面时,采用控制器present的方式实现页面切换。比如,将当前显示页面切换至下一显示页面,可以通过当前显示页面对应的第一控制器present下一显示页面对应的第二控制器,以此实现将当前显示页面切换至下一显示页面。
相关技术中,在将第二控制器的模态表现形式设置为叠加展示模式(叠加模式指的是在终端切换访问页面时支持多个访问页面同时显示)后,在第二控制器显示下一显示页面时,会对第一控制器的生命周期产生影响,进而导致页面切换的程序运行异常。
发明内容
本申请实施例提供一种页面切换方法、装置、计算机设备及存储介质,可以保证页面切换过程中程序正常运行。
本申请实施例提供了一种页面切换方法,包括:
接收针对第一访问页面的页面切换指令,确定所述第一访问页面切换后的第二访问页面;
根据所述第一访问页面的页面内容生成所述第一访问页面的页面图片,并通过所述第一访问页面对应的第一控制器触发中间控制器显示所述页面图片;
通过所述中间控制器触发所述第二访问页面对应的第二控制器显示所述第二访问页面。
相应的,本申请实施例还提供了一种页面切换装置,包括:
第一接收单元,用于接收针对第一访问页面的页面切换指令,确定所述第一访问页面切换后的第二访问页面;
第一生成单元,用于根据所述第一访问页面的页面内容生成所述第一访问页面的页面图片,并通过所述第一访问页面对应的第一控制器触发中间控制器显示所述页面图片;
第一显示单元,用于通过所述中间控制器触发所述第二访问页面对应的第二控制器显示所述第二访问页面。
在一些实施例中,第一生成单元包括:
处理子单元,用于基于所述页面图片对所述中间控制器的用户视图实例对象的图像属性进行赋值处理,得到赋值后用户视图实例对象;
显示子单元,用于根据所述赋值后用户视图实例对象显示所述页面图片。
在一些实施例中,处理子单元具体用于:
将所述页面图片保存在所述第一控制器的第一图像实例对象中;
将所述第一图像实例对象赋值给所述中间控制器的第二图像实例对象的成员变量;
将所述成员变量赋值给所述用户视图实例对象的图像属性,得到所述赋值后用户视图实例对象。
在一些实施例中,该装置还包括:
第二接收单元,用于接收针对所述第二访问页面的页面切换指令,确定所述第二访问页面切换后的第三访问页面;
第二生成单元,用于根据所述第二访问页面的页面内容生成所述第二访问页面的页面图片;
处理单元,用于基于第二访问页面的页面图片对所述赋值后用户视图实例对象重新赋值处理,得到更新后用户视图实例对象;
第二显示单元,用于根据所述更新后用户视图实例对象显示所述第二访问页面的页面图片;
第三显示单元,用于通过所述中间控制器触发所述第三访问页面对应的第三控制器显示所述第三访问页面。
在一些实施例中,该装置还包括:
切换单元,用于接收针对所述第二访问页面的页面关闭指令,在终端的显示屏将所述第二访问页面切换至所述第一访问页面。
在一些实施例中,切换单元包括:
第一控制子单元,用于控制所述第二控制器关闭所述第二访问页面,并控制所述中间控制器关闭所述页面图片;
第二控制子单元,用于通过控制所述第一控制器显示所述第一访问页面。
在一些实施例中,该装置还包括:
清除单元,用于清除所述中间控制器中第二图像实例对象以及用户视图实例对象的图像属性的值。
在一些实施例中,该装置还包括:
创建单元,用于创建所述中间控制器,并在所述中间控制器中添加第二图像实例对象以及用户视图实例对象。
相应的,本申请实施例还提供了一种计算机设备,包括存储器,处理器及存储在储存器上并可在处理器上运行的计算机程序,其中,处理器执行本申请实施例任一提供的页面切换方法。
相应的,本申请实施例还提供了一种存储介质,存储介质存储有多条指令,指令适于处理器进行加载,以执行如上的页面切换方法。
本申请实施例通过在控制当前显示页面的第一控制器与控制下一显示页面的第二控制器之间创建一个中间控制器,设置中间控制器为与第一控制器和第二控制器不同的模态显示形式,当需要将当前显示页面切换至下一显示页面时,对当前显示页面进行截图,并通过中间控制器显示截图,然后通过中间控制器触发第二控制器显示下一显示页面,将第一控制器与第二控制器隔离,当第二控制器控制下一显示页面显示时,以使第一控制器运行逻辑不受影响,从而可以保证页面切换过程中程序正常运行。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例提供的一种页面切换方法的流程示意图。
图2为本申请实施例提供的另一种页面切换方法的流程示意图。
图3为本申请实施例提供的一种页面切换装置的结构框图。
图4为本申请实施例提供的计算机设备的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请的一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本申请实施例提供一种页面切换方法、装置、存储介质及计算机设备。具体地,本申请实施例的页面切换方法可以由计算机设备执行,其中,该计算机设备可以为终端或者服务器等设备。该终端可以为智能手机、平板电脑、笔记本电脑、触控屏幕、个人计算机(PC,Personal Computer)、个人数字助理(Personal Digital Assistant,PDA)等终端设备。服务器可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、CDN、以及大数据和人工智能平台等基础云计算服务的云服务器。
例如,该计算机设备可以是终端,该终端可以接收针对第一访问页面的页面切换指令,确定第一访问页面切换后的第二访问页面,根据第一访问页面的页面内容生成第一访问页面的页面图片,并通过第一访问页面对应的第一控制器触发中间控制器显示页面图片,通过中间控制器触发第二访问页面对应的第二控制器显示第二访问页面。
基于上述问题,本申请实施例提供第一种页面切换方法、装置、计算机设备及存储介质,可以保证页面切换过程中程序正常运行。
以下分别进行详细说明。需说明的是,以下实施例的描述顺序不作为对实施例优选顺序的限定。
本申请实施例提供一种页面切换方法,该方法可以由终端或服务器执行,本申请实施例以页面切换方法由服务器执行为例来进行说明。
请参阅图1,图1为本申请实施例提供的一种页面切换方法的流程示意图。该页面切换方法的具体流程可以如下:
101、接收针对第一访问页面的页面切换指令,确定第一访问页面切换后的第二访问页面。
其中,第一访问页面也即当前访问页面,第二访问页面也即下一访问页面。第一访问页面与第二访问页面可以属于同一应用的应用页面,也可以属于不同应用的应用页面,可以通过用户对第一访问页面的切换操作触发对第一访问页面的页面切换指令,然后根据页面切换指令确定切换后的第二访问页面。
在iOS系统特性中,当控制器B的modalPresentationStyle设置为UIModalPresentatiorFullScreen时,控制器A present完控制器B时,控制器A会被移除UI栈,此时,当控制器B侧滑时,屏幕顶部到控制器B展示的顶部之间展示的会是一块黑色。当控制器B的modalPresentationStyle设置为UIModalPresentationOverFullScreen时,控制器A不会被移除UI栈,此时,当控制器B侧滑时,屏幕顶部到控制器B展示的顶部之间展示的是控制器A页面的内容。
其中,控制器可以理解为页面的容器,控制器A present出控制器B,可以理解为页面A以present的方式打开页面B。
其中,modalPresentationStyle指的是模态表现形式,也即iOS系统提供的一种控制器的实例对象,UIModalPresentatiorFullScreen与UIModalPresentationOverFullScreen分别属于modalPresentationStyle的属性,决定了当前控制器present出的下一控制器的展示方式。具体的,UIModalPresentatiorFullScreen即“全屏展示模式”或者“替换展示模式”,UIModalPresentationOverFullScreen即“叠加展示模式”。
在iOS系统设定中,当控制器B的modalPresentationStyle设置为UIModalPresentationOverFullScreen,在控制器B出现时,控制器A不会执行viewWillDisappear和viewDidDisappear方法,控制器B消失时,控制器A不会执行viewWillAppear和viewDidAppear方法。这四个方法是控制器的生命周期方法,很多时候需要在这些生命周期方法中处理一些逻辑,若这些方法被禁止执行,则会生成bug,从而对程序运行产生影响。
例如,为了在控制器view1Controller启动过程中可以看到控制器view1Controller的生命周期中各方法的触发以及启动顺序,可以在控制器view1Controller中添加如下代码:
其中,UIModalPresentationOverFullScreen也即控制器B叠加在控制器A之上,控制器A实际上是一直在控制器B下面存在的,因此控制器B的显示/消失,控制器A并不会执行任何生命周期(只有控制器A显示/消失才会执行控制器A的生命周期)。
因此,在本申请实施例中,在第一访问页面对应的第一控制器与第二访问页面对应的第二控制器之间创建一个新的控制器,来隔断第一控制器与第二控制器之间的关联。
在一些实施例中,为了保证程序正常运行,在步骤“通过第一访问页面对应的第一控制器触发中间控制器显示页面图片”之前,还可以包括以下步骤:
创建中间控制器,并在中间控制器中添加第二图像实例对象以及用户视图实例对象。
具体的,实现一个中间控制器,在中间控制器中添加一个与控制器视图一样大小的用户视图实例对象,然后添加一个外部可读写的第二图像实例对象作为成员变量用来接收图片,并将第二图像实例对象的成员变量赋值给用户视图实例对象的图像属性来展示图片。
其中,用户视图实例对象也即UIImageView实例对象,第二图像实例对象也即UIImage实例对象。
例如,创建UIImageView实例对象的实现代码可以如下:
具体的,UIImageView是在界面上显示图片的一个控件,在UIImageView中显示图片可以首先把图片加载到UIImage中,然后通过其他方式使用该UIImage,即可以完成图片显示。
其中,UIImage类对图像及其底层数据进行封装。UIImage类可以直接绘制在一个视图内,或者作为一个图像容器在另一个更大的图像视图容器中使用。UIImage类提供的方法可以用来从各种来源中载入图像,在屏幕上设置图片的方向,以及提供有关图像的信息。
在一些实施例中,为了保证第二控制器的执行不对第一控制器产生影响,则在创建中间控制器时,设置中间控制器与第一控制器和第二控制器为不同的显示模式,也即将中间控制器的modalPresentationStyle属性设置为与第一控制器和第二控制器的modalPresentationStyle不同属性。
具体的,第二控制器的显示模式为指定显示模式,中间控制器的显示模式不为指定显示模式,其中,指定显示模式在终端的显示屏进行页面切换时支持显示多个访问页面,指定显示模式也即UIModalPresentationOverFullScreen模式。以此,当中间控制器出现和消失时,第一控制器可以正常执行viewWillDisappear、viewDidDisappear、viewWillAppear和viewDidAppear这些生命周期方法,不会影响第一控制器的逻辑。
102、根据第一访问页面的页面内容生成第一访问页面的页面图片,并通过第一访问页面对应的第一控制器触发中间控制器显示页面图片。
具体的,根据第一访问页面的页面内容生成第一访问页面的页面图片可以通过对第一访问页面的页面内容绘制得到页面图片,或者可以通过对第一访问页面进行截图,得到第一访问页面的页面图片。然后通过第一访问页面对应的第一控制器触发中间控制器显示第一访问页面的页面图片。
在一些实施例中,为了实现通过第一控制器触发中间控制器显示页面图片,步骤“通过第一访问页面对应的第一控制器触发中间控制器显示页面图片”,可以包括以下操作:
基于页面图片对中间控制器的用户视图实例对象的图像属性进行赋值处理,得到赋值后用户视图实例对象;
根据赋值后用户视图实例对象显示页面图片。
具体的,通过第一访问页面的页面图片对中间控制器中的用户视图实例对象的图像属性赋值,以使第一控制器触发中间控制器显示页面图片。
在一些实施例中,步骤“基于页面图片对中间控制器的用户视图实例对象的图像属性进行赋值处理,得到赋值后用户视图实例对象”,可以包括以下操作:
将页面图片保存在第一控制器的第一图像实例对象中;
将第一图像实例对象赋值给中间控制器的第二图像实例对象的成员变量;
将成员变量赋值给用户视图实例对象的图像属性,得到赋值后用户视图实例对象。
其中,第一控制器的第一图像实例对象指的是第一控制器中的UIImage的实例对象。
在基于第一访问页面的页面内容生成页面图片之后,可以将页面图片保存在第一控制器的一个UIImage的实例对象中。然后,初始化中间控制器,将保存第一访问页面的页面图片的第一控制器的UIImage实例对象赋值给中间控制器的UIImage实例对象的成员变量,进一步的,将这个成员变量赋值给中间控制器的UIImageView实例对象的image属性,最后,通过中间控制器的UIImageView实例对象的image属性来展示页面图片。
103、通过中间控制器触发第二访问页面对应的第二控制器显示第二访问页面。
具体的,初始化第二访问页面对应的第二控制器,将第二控制器的modalPresentationStyle设置为UIModalPresentationOverFullScreen。然后通过第一控制器present出中间控制器,在中间控制器被present出来完成的block(数据库中的最小存储和处理单位)回调中使用中间控制器present出第二控制器,以此,实现中间控制器触发第二控制器显示第二访问页面。
在一些实施例中,为了避免创建多个中间控制器占用较多的处理资源,在步骤“通过中间控制器触发第二访问页面对应的第二控制器显示第二访问页面”之后,还可以包括以下步骤:
接收针对第二访问页面的页面切换指令,确定第二访问页面切换后的第三访问页面;
根据第二访问页面的页面内容生成第二访问页面的页面图片;
基于第二访问页面的页面图片对赋值后用户视图实例对象重新赋值处理,得到更新后用户视图实例对象;
根据更新后用户视图实例对象显示第二访问页面的页面图片;
通过中间控制器触发第三访问页面对应的第三控制器显示第三访问页面。
其中,第三访问页面与第一访问页面为不同的访问页面,针对第二访问页面的页面切换指令指示将第二访问页面切换至新的访问页面,也即第三访问页面。
进一步的,根据第二访问页面的页面内容生成第二访问页面的页面图片,具体生成页面图片的步骤可以参见上述说明。
具体的,在基于第二访问页面的页面内容生成页面图片之后,可以将第二访问页面的页面图片保存在第二控制器的一个UIImage的实例对象中。然后,将保存第二访问页面的页面图片的第二控制器的UIImage实例对象对中间控制器的UIImage实例对象的成员变量重新赋值,得到重新赋值后的成员变量,然后,将这个成员变量重新赋值给中间控制器的UIImageView实例对象的image属性,最后,通过中间控制器的UIImageView实例对象的image属性来展示第二页面的页面图片。
由于在将第一访问页面切换至第二访问页面的过程中,已经根据第一访问页面的页面图片对中间控制器的UIImage实例对象,以及UIImageView实例对象进行赋值,则当需要将第二访问页面切换至第三访问页面时,为了避免重新生成中间控制器,浪费内存占用,可以利用已创建的中间控制器,基于第二控制器的页面对已赋值的中间控制器的UIImage实例对象,以及UIImageView实例对象重新赋值,即可以实现通过第二控制器触发中间控制器显示第二访问页面的页面图片,然后进一步通过中间控制器触发第三访问文员的第三控制器触发显示第三访问页面。
在一些实施例中,为了保证访问页面之间的正常切换,在步骤“通过中间控制器触发第二访问页面对应的第二控制器显示第二访问页面”之后,还可以包括以下步骤:
接收针对第二访问页面的页面关闭指令,在终端的显示屏将第二访问页面切换至第一访问页面。
其中,针对第二访问页面的页面关闭指令指示将第二访问页面切换回第一访问页面。
具体的,步骤“在终端的显示屏将第二访问页面切换至第一访问页面”,可以包括以下操作:
控制第二控制器关闭第二访问页面,并控制中间控制器关闭页面图片;
通过控制第一控制器显示第一访问页面。
具体的,根据针对第二访问页面的页面关闭指令控制第二控制器关闭第二访问页面,然后控制中间控制器关闭第一访问页面的页面图片。也即当关闭第二控制器时,使用系统关闭控制器的方法,在关闭方法完成的block回调中关闭中间控制器,以此可以回到第一控制器,也即通过第一控制器显示第一访问页面,前端显示的相当于关闭了第二控制器回到了第一控制器。
在一些实施例中,为了避免创建较多的中间控制器占用较多处理资源,在步骤“接收针对第二访问页面的页面关闭指令”之后,还可以包括以下步骤:
清除中间控制器中第二图像实例对象以及用户视图实例对象的图像属性的值。
具体的,在将第二控制器切换回第一控制器时,保留中间控制器,仅将中间控制器的UIImageView实例对象以及UIImage实例对象的值进行清除,也即对中间控制器进行初始化,以方便下一次其他控制器调用中间控制器进行使用。
本申请实施例公开了一种页面切换方法,该方法包括:接收针对第一访问页面的页面切换指令,确定第一访问页面切换后的第二访问页面,根据第一访问页面的页面内容生成第一访问页面的页面图片,并通过第一访问页面对应的第一控制器触发中间控制器显示页面图片,通过中间控制器触发第二访问页面对应的第二控制器显示第二访问页面。以此,可以保证页面切换过程中程序正常运行。
根据上述介绍的内容,下面将举例来进一步说明本申请的页面切换方法。请参阅图2,图2为本申请实施例提供的另一种页面切换方法的流程示意图,以该页面切换方法应用于终端为例,具体流程可以如下:
201、终端接收用户对当前访问页面的页面切换操作,根据页面切换操作确定下一访问页面。
其中,当前访问页面指的是当前终端显示的页面,下一访问页面可以为与当前访问页面关联的访问页面。比如,当前访问页面包括页面切换控件,通过对当前访问页面中的页面切换控件的操作,也即页面切换操作,确定页面切换控件对应的访问页面,也即下一访问页面。
在本申请实施例中,访问页面的显示通过控制器控制,控制器指的是访问页面的容器,包括有访问页面的所有显示内容。
202、终端根据当前访问页面的显示内容绘制当前访问页面的页面图片。
具体的,根据当前访问页面的显示内容绘制当前访问页面的页面图片可以通过对当前访问页面的显示内容进行截图,以生成当前访问页面的页面图片。
例如,生成当前访问页面的页面图片的实现代码可以如下:
UIImage*screenshotsImage=[UIImage getCurrentWindowScreenshotsImage]。
203、终端通过当前访问页面的控制器触发中间控制器显示页面图片。
在本申请实施例中,当前访问页面的控制器可以为控制器A,中间控制器可以为控制器C。
当绘制完成当前访问页面,生成当前访问页面的页面图片之后,可以将页面图片保存在控制器A的一个UIImage的实例对象中。然后初始化控制器C,将保存当前访问页面的页面图片的UIImage实例对象赋值给控制器C的UIImage实例对象的成员变量,并将这个成员变量赋值给UIImageView实例对象的image属性来展示图片。
例如,通过控制器C显示页面图片的实现代码可以如下:
204、终端通过中间控制器触发下一访问页面的控制器显示下一访问页面。
具体的,初始化控制器B,将控制器B的modalPresentationStyle设置为UIModalPresentationOverFullScreen。然后用控制器A present出控制器C,在控制器C被present出来完成的block回调中使用控制器C present出控制器B,至此完成了用户在控制器A操作present出控制器B。
例如,通过控制器C present出控制器B的实现代码可以如下:
进一步的,当检测到用户关闭控制器B时,也即将下一访问页面切换回当前访问页面时,使用系统关闭控制器的方法,在关闭方法完成的block回调中关闭控制器C,并且动画效果设置为NO,这样就回到了控制器A,在用户视觉上,就是直接关闭了控制器B回到了控制器A。
例如,关闭控制器B的实现代码可以如下:
//实现控制B的关闭回调方法,即控制器B被关闭后调用的方法
vcB.dismissBlock=^{
//让控制器C消失
[vcCdismissViewControllerAnimated:NO completion:nil];
}。
在本申请实施例中,通过重新创建一个控制器C显示控制器A的内容(控制器C相当于控制器A的镜像,控制器C的本质是显示了控制器A控制器的访问页面对应的截屏图片),然后通过控制器C触发控制器B显示。
具体的,控制器C来展示控制器A的镜像,当控制器C被控制器A present出来后,此时控制器A被销毁(因为C是全屏展示模式),然后通过控制器C present出下一个控制器B出来,此时控制器C没被销毁,控制器B叠加在控制器C之上(因为控制器B是叠加展示模式)。当从控制器B回退到控制器C,控制器C的生命周期不会被执行(中间页面控制器C不执行生命周期对程序运行不会产生影响),控制器C回退到控制器A,此时控制器A就会执行生命周期了。实现了控制器A present出了modalPresentationStyle设置为UIModalPresentationOverFullScreen的控制器B,控制器B出现和消失时,让控制器A能正常执行viewWillDisappear、viewDidDisappear、viewWillAppear和viewDidAppear这些生命周期方法。
本申请实施例公开了一种页面切换方法,该方法包括:终端接收用户对当前访问页面的页面切换操作,根据页面切换操作确定下一访问页面,根据当前访问页面的显示内容绘制当前访问页面的页面图片,通过当前访问页面的控制器触发中间控制器显示页面图片,通过中间控制器触发下一访问页面的控制器显示下一访问页面。以此,可以保证页面切换过程中程序正常运行。
为便于更好的实施本申请实施例提供的页面切换方法,本申请实施例还提供一种基于上述页面切换方法的页面切换装置。其中名词的含义与上述页面切换方法中相同,具体实现细节可以参考方法实施例中的说明。
请参阅图3,图3为本申请实施例提供的一种页面切换装置的结构框图,该装置包括:
第一接收单元301,用于接收针对第一访问页面的页面切换指令,确定所述第一访问页面切换后的第二访问页面;
第一生成单元302,用于根据所述第一访问页面的页面内容生成所述第一访问页面的页面图片,并通过所述第一访问页面对应的第一控制器触发中间控制器显示所述页面图片;
第一显示单元303,用于通过所述中间控制器触发所述第二访问页面对应的第二控制器显示所述第二访问页面。
在一些实施例中,第一生成单元302可以包括:
处理子单元,用于基于所述页面图片对所述中间控制器的用户视图实例对象的图像属性进行赋值处理,得到赋值后用户视图实例对象;
显示子单元,用于根据所述赋值后用户视图实例对象显示所述页面图片。
在一些实施例中,处理子单元具体可以用于:
将所述页面图片保存在所述第一控制器的第一图像实例对象中;
将所述第一图像实例对象赋值给所述中间控制器的第二图像实例对象的成员变量;
将所述成员变量赋值给所述用户视图实例对象的图像属性,得到所述赋值后用户视图实例对象。
在一些实施例中,该装置还可以包括:
第二接收单元,用于接收针对所述第二访问页面的页面切换指令,确定所述第二访问页面切换后的第三访问页面;
第二生成单元,用于根据所述第二访问页面的页面内容生成所述第二访问页面的页面图片;
处理单元,用于基于第二访问页面的页面图片对所述赋值后用户视图实例对象重新赋值处理,得到更新后用户视图实例对象;
第二显示单元,用于根据所述更新后用户视图实例对象显示所述第二访问页面的页面图片;
第三显示单元,用于通过所述中间控制器触发所述第三访问页面对应的第三控制器显示所述第三访问页面。
在一些实施例中,该装置还可以包括:
切换单元,用于接收针对所述第二访问页面的页面关闭指令,在终端的显示屏将所述第二访问页面切换至所述第一访问页面。
在一些实施例中,切换单元包括:
第一控制子单元,用于控制所述第二控制器关闭所述第二访问页面,并控制所述中间控制器关闭所述页面图片;
第二控制子单元,用于通过控制所述第一控制器显示所述第一访问页面。
在一些实施例中,该装置还包括:
清除单元,用于清除所述中间控制器中第二图像实例对象以及用户视图实例对象的图像属性的值。
在一些实施例中,该装置还可以包括:
创建单元,用于创建所述中间控制器,并在所述中间控制器中添加第二图像实例对象以及用户视图实例对象。
本申请实施例公开了一种页面切换装置,通过第一接收单元301接收针对第一访问页面的页面切换指令,确定所述第一访问页面切换后的第二访问页面,第一生成单元302根据所述第一访问页面的页面内容生成所述第一访问页面的页面图片,并通过所述第一访问页面对应的第一控制器触发中间控制器显示所述页面图片,第一显示单元303通过所述中间控制器触发所述第二访问页面对应的第二控制器显示所述第二访问页面。以此,可以保证页面切换过程中程序正常运行。
相应的,本申请实施例还提供一种计算机设备,该计算机设备可以为服务器。如图4所示,图4为本申请实施例提供的计算机设备的结构示意图。该计算机设备500包括有一个或者一个以上处理核心的处理器501、有一个或一个以上计算机可读存储介质的存储器502及存储在存储器502上并可在处理器上运行的计算机程序。其中,处理器501与存储器502电性连接。本领域技术人员可以理解,图中示出的计算机设备结构并不构成对计算机设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
处理器501是计算机设备500的控制中心,利用各种接口和线路连接整个计算机设备500的各个部分,通过运行或加载存储在存储器502内的软件程序和/或模块,以及调用存储在存储器502内的数据,执行计算机设备500的各种功能和处理数据,从而对计算机设备500进行整体监控。
在本申请实施例中,计算机设备500中的处理器501会按照如下的步骤,将一个或一个以上的应用程序的进程对应的指令加载到存储器502中,并由处理器501来运行存储在存储器502中的应用程序,从而实现各种功能:
接收针对第一访问页面的页面切换指令,确定第一访问页面切换后的第二访问页面,根据第一访问页面的页面内容生成第一访问页面的页面图片,并通过第一访问页面对应的第一控制器触发中间控制器显示页面图片,通过中间控制器触发第二访问页面对应的第二控制器显示第二访问页面。
以上各个操作的具体实施可参见前面的实施例,在此不再赘述。
可选的,如图4所示,计算机设备500还包括:触控显示屏503、射频电路504、音频电路505、输入单元506以及电源507。其中,处理器501分别与触控显示屏503、射频电路504、音频电路505、输入单元506以及电源507电性连接。本领域技术人员可以理解,图4中示出的计算机设备结构并不构成对计算机设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
触控显示屏503可用于显示图形用户界面以及接收用户作用于图形用户界面产生的操作指令。触控显示屏503可以包括显示面板和触控面板。其中,显示面板可用于显示由用户输入的信息或提供给用户的信息以及计算机设备的各种图形用户接口,这些图形用户接口可以由图形、引导信息、图标、视频和其任意组合来构成。可选的,可以采用液晶显示器(LCD,Liquid Crystal Display)、有机发光二极管(OLED,Organic Light-EmittingDiode)等形式来配置显示面板。触控面板可用于收集用户在其上或附近的触摸操作(比如用户使用手指、触笔等任何适合的物体或附件在触控面板上或在触控面板附近的操作),并生成相应的操作指令,且操作指令执行对应程序。可选的,触控面板可包括触摸检测装置和触摸控制器两个部分。其中,触摸检测装置检测用户的触摸方位,并检测触摸操作带来的信号,将信号传送给触摸控制器;触摸控制器从触摸检测装置上接收触摸信息,并将它转换成触点坐标,再送给处理器501,并能接收处理器501发来的命令并加以执行。触控面板可覆盖显示面板,当触控面板检测到在其上或附近的触摸操作后,传送给处理器501以确定触摸事件的类型,随后处理器501根据触摸事件的类型在显示面板上提供相应的视觉输出。在本申请实施例中,可以将触控面板与显示面板集成到触控显示屏503而实现输入和输出功能。但是在某些实施例中,触控面板与触控面板可以作为两个独立的部件来实现输入和输出功能。即触控显示屏503也可以作为输入单元506的一部分实现输入功能。
射频电路504可用于收发射频信号,以通过无线通信与网络设备或其他计算机设备建立无线通讯,与网络设备或其他计算机设备之间收发信号。
音频电路505可以用于通过扬声器、传声器提供用户与计算机设备之间的音频接口。音频电路505可将接收到的音频数据转换后的电信号,传输到扬声器,由扬声器转换为声音信号输出;另一方面,传声器将收集的声音信号转换为电信号,由音频电路505接收后转换为音频数据,再将音频数据输出处理器501处理后,经射频电路504以发送给比如另一计算机设备,或者将音频数据输出至存储器502以便进一步处理。音频电路505还可能包括耳塞插孔,以提供外设耳机与计算机设备的通信。
输入单元506可用于接收输入的数字、字符信息或用户特征信息(例如指纹、虹膜、面部信息等),以及产生与用户设置以及功能控制有关的键盘、鼠标、操作杆、光学或者轨迹球信号输入。
电源507用于给计算机设备500的各个部件供电。可选的,电源507可以通过电源管理系统与处理器501逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。电源507还可以包括一个或一个以上的直流或交流电源、再充电系统、电源故障检测电路、电源转换器或者逆变器、电源状态指示器等任意组件。
尽管图4中未示出,计算机设备500还可以包括摄像头、传感器、无线保真模块、蓝牙模块等,在此不再赘述。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
由上可知,本实施例提供的计算机设备,接收针对第一访问页面的页面切换指令,确定第一访问页面切换后的第二访问页面,根据第一访问页面的页面内容生成第一访问页面的页面图片,并通过第一访问页面对应的第一控制器触发中间控制器显示页面图片,通过中间控制器触发第二访问页面对应的第二控制器显示第二访问页面。
本领域普通技术人员可以理解,上述实施例的各种方法中的全部或部分步骤可以通过指令来完成,或通过指令控制相关的硬件来完成,该指令可以存储于一计算机可读存储介质中,并由处理器进行加载和执行。
为此,本申请实施例提供一种计算机可读存储介质,其中存储有多条计算机程序,该计算机程序能够被处理器进行加载,以执行本申请实施例所提供的任一种页面切换方法中的步骤。例如,该计算机程序可以执行如下步骤:
接收针对第一访问页面的页面切换指令,确定第一访问页面切换后的第二访问页面;
根据第一访问页面的页面内容生成第一访问页面的页面图片,并通过第一访问页面对应的第一控制器触发中间控制器显示页面图片;
通过中间控制器触发第二访问页面对应的第二控制器显示第二访问页面。
以上各个操作的具体实施可参见前面的实施例,在此不再赘述。
其中,该存储介质可以包括:只读存储器(ROM,Read Only Memory)、随机存取记忆体(RAM,Random Access Memory)、磁盘或光盘等。
由于该存储介质中所存储的计算机程序,可以执行本申请实施例所提供的任一种页面切换方法中的步骤,因此,可以实现本申请实施例所提供的任一种页面切换方法所能实现的有益效果,详见前面的实施例,在此不再赘述。
以上对本申请实施例所提供的一种页面切换方法、装置、存储介质及计算机设备进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。

Claims (11)

1.一种页面切换方法,其特征在于,所述方法包括:
接收针对第一访问页面的页面切换指令,确定所述第一访问页面切换后的第二访问页面;
根据所述第一访问页面的页面内容生成所述第一访问页面的页面图片,并通过所述第一访问页面对应的第一控制器present触发中间控制器显示所述页面图片,其中,控制器为iOS系统中的ViewController;
通过所述中间控制器present触发所述第二访问页面对应的第二控制器显示所述第二访问页面,其中,所述第二控制器的显示模式为UIModalPresentationOverFullScreen模式,所述中间控制器的显示模式为UIModalPresentationFullScreen,所述中间控制器与所述第一控制器和所述第二控制器为不同的显示模式。
2.根据权利要求1所述的方法,其特征在于,所述通过所述第一访问页面对应的第一控制器present触发中间控制器显示所述页面图片,包括:
基于所述页面图片对所述中间控制器的用户视图实例对象的图像属性进行赋值处理,得到赋值后用户视图实例对象;
根据所述赋值后用户视图实例对象显示所述页面图片。
3.根据权利要求2所述的方法,其特征在于,所述基于所述页面图片对所述中间控制器的用户视图实例对象的图像属性进行赋值处理,得到赋值后用户视图实例对象,包括:
将所述页面图片保存在所述第一控制器的第一图像实例对象中;
将所述第一图像实例对象赋值给所述中间控制器的第二图像实例对象的成员变量;
将所述成员变量赋值给所述用户视图实例对象的图像属性,得到所述赋值后用户视图实例对象。
4.根据权利要求2所述的方法,其特征在于,在所述通过所述中间控制器present触发所述第二访问页面对应的第二控制器显示所述第二访问页面之后,还包括:
接收针对所述第二访问页面的页面切换指令,确定所述第二访问页面切换后的第三访问页面;
根据所述第二访问页面的页面内容生成所述第二访问页面的页面图片;
基于第二访问页面的页面图片对所述赋值后用户视图实例对象重新赋值处理,得到更新后用户视图实例对象;
根据所述更新后用户视图实例对象显示所述第二访问页面的页面图片;
通过所述中间控制器触发所述第三访问页面对应的第三控制器显示所述第三访问页面。
5.根据权利要求1所述的方法,其特征在于,在所述通过所述中间控制器present触发所述第二访问页面对应的第二控制器显示所述第二访问页面之后,还包括:
接收针对所述第二访问页面的页面关闭指令,在终端的显示屏将所述第二访问页面切换至所述第一访问页面。
6.根据权利要求5所述的方法,其特征在于,所述在终端的显示屏将所述第二访问页面切换至所述第一访问页面,包括:
控制所述第二控制器关闭所述第二访问页面,并控制所述中间控制器关闭所述页面图片;
通过控制所述第一控制器显示所述第一访问页面。
7.根据权利要求5所述的方法,其特征在于,在所述接收针对所述第二访问页面的页面关闭指令之后,还包括:
清除所述中间控制器中第二图像实例对象以及用户视图实例对象的图像属性的值。
8.根据权利要求1所述的方法,其特征在于,在所述通过所述第一访问页面对应的第一控制器present触发中间控制器显示所述页面图片之前,还包括:
创建所述中间控制器,并在所述中间控制器中添加第二图像实例对象以及用户视图实例对象。
9.一种页面切换装置,其特征在于,所述装置包括:
第一接收单元,用于接收针对第一访问页面的页面切换指令,确定所述第一访问页面切换后的第二访问页面,其中,控制器为iOS系统中的ViewController;
第一生成单元,用于根据所述第一访问页面的页面内容生成所述第一访问页面的页面图片,并通过所述第一访问页面对应的第一控制器present触发中间控制器显示所述页面图片;
第一显示单元,用于通过所述中间控制器present触发所述第二访问页面对应的第二控制器显示所述第二访问页面,其中,所述第二控制器的显示模式为UIModalPresentationOverFullScreen模式,所述中间控制器的显示模式为UIModalPresentationFullScreen,所述中间控制器与所述第一控制器和所述第二控制器为不同的显示模式。
10.一种计算机设备,包括存储器,处理器及存储在存储器上并在处理器上运行的计算机程序,其中,所述处理器执行所述程序时实现如权利要求1至8任一项所述的页面切换方法。
11.一种存储介质,其特征在于,所述存储介质存储有多条指令,所述指令适于处理器进行加载,以执行权利要求1至8任一项所述的页面切换方法。
CN202111627698.6A 2021-12-28 2021-12-28 一种页面切换方法、装置、计算机设备及存储介质 Active CN114416234B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111627698.6A CN114416234B (zh) 2021-12-28 2021-12-28 一种页面切换方法、装置、计算机设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111627698.6A CN114416234B (zh) 2021-12-28 2021-12-28 一种页面切换方法、装置、计算机设备及存储介质

Publications (2)

Publication Number Publication Date
CN114416234A CN114416234A (zh) 2022-04-29
CN114416234B true CN114416234B (zh) 2023-09-12

Family

ID=81268641

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111627698.6A Active CN114416234B (zh) 2021-12-28 2021-12-28 一种页面切换方法、装置、计算机设备及存储介质

Country Status (1)

Country Link
CN (1) CN114416234B (zh)

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5945974A (en) * 1996-05-15 1999-08-31 Cirrus Logic, Inc. Display controller with integrated half frame buffer and systems and methods using the same
CN103744591A (zh) * 2013-12-25 2014-04-23 乐视网信息技术(北京)股份有限公司 一种显示页面的切换方法及装置
CN105550002A (zh) * 2015-12-28 2016-05-04 北京元心科技有限公司 基于系统切换的界面显示方法和智能终端
CN107463367A (zh) * 2017-06-22 2017-12-12 北京小度信息科技有限公司 转场动画实现方法及装置
CN107943552A (zh) * 2017-11-16 2018-04-20 腾讯科技(成都)有限公司 一种移动终端的页面切换方法和移动终端
CN109144507A (zh) * 2018-07-17 2019-01-04 北京奇艺世纪科技有限公司 一种页面切换方法及装置
CN113101650A (zh) * 2021-04-28 2021-07-13 网易(杭州)网络有限公司 游戏场景切换方法、装置、计算机设备及存储介质

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5304478B2 (ja) * 2008-08-07 2013-10-02 株式会社リコー 画像形成装置、操作画面更新方法およびプログラム

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5945974A (en) * 1996-05-15 1999-08-31 Cirrus Logic, Inc. Display controller with integrated half frame buffer and systems and methods using the same
CN103744591A (zh) * 2013-12-25 2014-04-23 乐视网信息技术(北京)股份有限公司 一种显示页面的切换方法及装置
WO2015096588A1 (zh) * 2013-12-25 2015-07-02 乐视网信息技术(北京)股份有限公司 一种显示页面的切换方法及装置
CN105550002A (zh) * 2015-12-28 2016-05-04 北京元心科技有限公司 基于系统切换的界面显示方法和智能终端
CN107463367A (zh) * 2017-06-22 2017-12-12 北京小度信息科技有限公司 转场动画实现方法及装置
CN107943552A (zh) * 2017-11-16 2018-04-20 腾讯科技(成都)有限公司 一种移动终端的页面切换方法和移动终端
CN109144507A (zh) * 2018-07-17 2019-01-04 北京奇艺世纪科技有限公司 一种页面切换方法及装置
CN113101650A (zh) * 2021-04-28 2021-07-13 网易(杭州)网络有限公司 游戏场景切换方法、装置、计算机设备及存储介质

Also Published As

Publication number Publication date
CN114416234A (zh) 2022-04-29

Similar Documents

Publication Publication Date Title
CN109062479B (zh) 分屏应用切换方法、装置、存储介质和电子设备
US20220413695A1 (en) Split-screen display method and electronic device
CN108984258A (zh) 应用分屏显示方法、装置、存储介质和电子设备
CN108549519B (zh) 分屏处理方法、装置、存储介质和电子设备
WO2020007114A1 (zh) 分屏应用切换方法、装置、存储介质和电子设备
CN109032732B (zh) 通知显示方法、装置、存储介质及电子设备
CN108984142B (zh) 分屏显示方法、装置、存储介质和电子设备
CN113101650A (zh) 游戏场景切换方法、装置、计算机设备及存储介质
CN110045958B (zh) 纹理数据生成方法、装置、存储介质及设备
CN114327087A (zh) 输入事件处理方法、装置、电子设备和存储介质
CN112163174B (zh) 消息的显示方法、装置、存储介质及计算机设备
CN114416234B (zh) 一种页面切换方法、装置、计算机设备及存储介质
CN116594616A (zh) 一种组件配置方法、装置及计算机可读存储介质
CN115828845A (zh) 多媒体数据查看方法、装置、介质及设备
CN112799754B (zh) 信息处理方法、装置、存储介质及计算机设备
CN115469937A (zh) 插件运行方法、装置、电子设备及存储介质
CN115329161A (zh) 金融行情列表展示方法、装置、存储介质及设备
CN114005431A (zh) 语音系统的配置方法、装置、设备以及可读存储介质
CN112783386A (zh) 页面跳转方法、装置、存储介质及计算机设备
CN112379964A (zh) 用户界面的显示控制方法、装置、计算机设备及存储介质
CN112783860B (zh) 构造镜像数据库的方法、装置、存储介质及计算机设备
CN116931781A (zh) 界面处理方法、装置、可读存储介质及计算机设备
CN114168048A (zh) 一种应用消息提醒方法、装置、计算机设备及存储介质
CN114159786A (zh) 一种信息显示方法、装置、计算机设备及存储介质
CN113713375A (zh) 一种界面元素显示方法、装置、终端及存储介质

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant