CN109782977A - 视图处理方法、电子设备及存储介质 - Google Patents

视图处理方法、电子设备及存储介质 Download PDF

Info

Publication number
CN109782977A
CN109782977A CN201711116940.7A CN201711116940A CN109782977A CN 109782977 A CN109782977 A CN 109782977A CN 201711116940 A CN201711116940 A CN 201711116940A CN 109782977 A CN109782977 A CN 109782977A
Authority
CN
China
Prior art keywords
view
button
application program
focus
rolling
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.)
Granted
Application number
CN201711116940.7A
Other languages
English (en)
Other versions
CN109782977B (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.)
Tencent Technology Shenzhen Co Ltd
Original Assignee
Tencent Technology Shenzhen 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 Tencent Technology Shenzhen Co Ltd filed Critical Tencent Technology Shenzhen Co Ltd
Priority to CN201711116940.7A priority Critical patent/CN109782977B/zh
Publication of CN109782977A publication Critical patent/CN109782977A/zh
Application granted granted Critical
Publication of CN109782977B publication Critical patent/CN109782977B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • User Interface Of Digital Computer (AREA)

Abstract

本发明实施例公开了一种视图处理方法、电子设备及存储介质,方法包括:在应用程序界面中加载嵌套于滚动视图的第一按钮栏视图;在与第一按钮栏视图相邻的区域加载对应按钮栏中按钮的视图;响应于在第一按钮栏视图中形成第一聚焦按钮的触摸事件,使用第一聚焦按钮对应的视图控制器控制第一聚焦按钮对应的视图,通过控制在相应视图中加载第一聚焦按钮对应的业务内容;响应于针对第一聚焦按钮对应的视图中滑动的触摸事件,控制按钮所对应的视图、以及控制滚动视图在应用程序界面中根据滑动同步显示。

Description

视图处理方法、电子设备及存储介质
技术领域
本发明涉及图像处理技术,尤其涉及一种视图处理方法、电子设备及存储介质。
背景技术
移动应用程序(APP)的使用伴随移动互联网的发展而普及,覆盖生活、工作、娱乐和学习等多个方面。
应用程序的功能不断增多,以即时通信应用的联系人管理为例,常用的联系人管理功能包括好友、亲人和同行等;为了便于相关业务内容的快速定位,相关技术提供将不同业务内容的按钮组合并置顶显示的方案,按钮作为查看业务内容的快速入口,虽然能够克服在菜单栏查找业务内容导致的操作效率低的问题,但是在操作响应的性能上存在不足,例如实时性存在不足,包括闪烁和延迟的情况;另外不同业务内容的显示上具有很强的耦合性,应用程序的更新效率不能适应及时变动业务的需求。
发明内容
本发明实施例提供一种视图处理方法、电子设备以及存储介质,以至少解决上述技术问题。
本发明的技术方案是这样实现的:
本发明实施例提供一种应用程序中的显示处理方法,包括:
在应用程序界面中加载嵌套于滚动视图的第一按钮栏视图;
在与所述第一按钮栏视图相邻的区域加载对应所述按钮栏中按钮的视图;
响应于在所述第一按钮栏视图中形成第一聚焦按钮的触摸事件,
使用所述第一聚焦按钮对应的视图控制器控制所述第一聚焦按钮对应的视图,通过控制在相应视图中加载所述第一聚焦按钮对应的业务内容;
响应于针对第一聚焦按钮对应的视图中滑动的触摸事件,
控制所述按钮所对应的视图、以及控制所述滚动视图在所述应用程序界面中根据所述滑动同步显示。
本发明实施例提供一种电子设备,包括:加载单元,用于在应用程序界面中加载嵌套于滚动视图的第一按钮栏视图;
所述加载单元,在与所述第一按钮栏视图相邻的区域加载对应所述按钮栏中按钮的视图;
第一响应单元,用于响应于在所述第一按钮栏视图中形成第一聚焦按钮的触摸事件,
使用所述第一聚焦按钮对应的视图控制器控制所述第一聚焦按钮对应的视图,通过控制在相应视图中加载所述第一聚焦按钮对应的业务内容;
第二响应单元,用于响应于针对第一聚焦按钮对应的视图中滑动的触摸事件,
控制所述按钮所对应的视图、以及控制所述滚动视图在所述应用程序界面中根据所述滑动同步显示。
本发明实施例提供一种电子设备,包括:
加载单元,用于在应用程序界面中加载嵌套于滚动视图的第一按钮栏视图;
所述加载单元,在与所述第一按钮栏视图相邻的区域加载对应所述按钮栏中按钮的视图;
第一响应单元,用于响应于在所述第一按钮栏视图中形成第一聚焦按钮的触摸事件,
使用所述第一聚焦按钮对应的视图控制器控制所述第一聚焦按钮对应的视图,通过控制在相应视图中加载所述第一聚焦按钮对应的业务内容;
第二响应单元,用于响应于针对第一聚焦按钮对应的视图中滑动的触摸事件,
控制所述按钮所对应的视图、以及控制所述滚动视图在所述应用程序界面中根据所述滑动同步显示。
本发明实施例提供一种电子设备,包括:
存储器,用于存储可执行指令;
处理器,用于执行所述存储器存储的可执行指令时,实现本发明实施例提供的视图处理方法
本发明实施例提供一种存储介质,存储有可执行指令,所述可执行指令被执行时,用于引起处理器执行本发明实施例提供的视图处理方法。
本发明实施例提供一种存储介质,存储有可执行指令,用于引起处理器执行所述可执行指令时,实现本发明实施例前述提供的视图处理方法。
本发明实施例具有以下有益效果:
1)每个按钮使用对应的视图显示对应的业务内容,使不同业务内容的显示之间避免干扰,实现了不同业务内容显示之间的解耦,有利于应用程序中业务的拆分和组合;
2)支持通过聚焦按钮的操作切换查看不同业务内容,避免了复用一个视图多个业务时清除内容并重新加载导致的闪烁、以及显示延迟的问题;
3)通过多个按钮组织显示不同的业务内容,且复用与第一按钮栏相邻的区域,在应用程序界面的嵌套的多个按钮对应视图中滑动操作时,实现了相当于在同一视图中滑动操作的感知效果,在多个视图中的滑动操作得以简化。
附图说明
图1是本发明实施例提供的电子设备的一个可选的架构示意图;
图2A至图2C是本发明实施例提供的应用程序的可选的架构示意图;
图3是本发明实施例提供的用户界面套件可选的结构示意图;
图4是本发明实施例提供的基于用户界面视图在电子设备的用户界面的显示框架的示意图;
图5是本发明实施例提供的应用程序界面进行分解的一个可选的示意图;
图6A和图6B是本发明实施例提供的用户界面滚动视图的可选的结构示意图;
图7A和图7B是本发明实施例提供的用户界面表视图的可选的结构示意图;
图8A至图8C是本发明实施例提供的以用户界面按钮栏提供多个业务内容的入口按钮的可选的示意图;
图9A至图9H是本发明实施例提供的应用程序界面的可选的结构示意图;
图10至图12是本发明实施例提供的应用程序界面中进行视图处理方法的一个可选的流程示意图;
图13是本发明实施例提供的用以实施本发明实施例提供的视图处理方法的电子设备的一个可选的功能结构示意图。
具体实施方式
为了使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明作进一步地详细描述,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
下面说明实现本发明实施例的电子设备,本发明实施例所记载的电子设备可以实施为智能手机、平板电脑和台式机等能够显示图像的电子设备,或者可以实施为能够输出图形数据到显示的电子设备,参见图1,图1是本发明实施例记载的电子设备10的一个可选的架构示意图,电子设备10包括硬件层11、操作系统层12和应用程序层13。
在一些实施例中,硬件层11包括的处理器可以是集成图形计算能力的处理器,也可以是物理上独立的应用程序处理器(AP,Application Processor)和图形处理器(GPU,Graphics Processor Unit)。
在一些实施例中,硬件层11包括的存储器可以是易失性存储器或非易失性存储器,也可包括易失性和非易失性存储器两者。其中,非易失性存储器可以是只读存储器(ROM,Read Only Memory)、可编程只读存储器(PROM,Programmable Read-Only Memory)、可擦除可编程只读存储器(EPROM,Erasa ble Programmable Read-Only Memory)等。
在一些实施例中,硬件层11包括的存储器用于存储各种类型的数据以支持电子设备10的操作。这些数据的示例包括:用于在电子设备10上操作的任何程序,如操作系统层12和应用程序层13。操作系统层12包括系统框架、用户界面套件(UIKit)、图形库和驱动程序。
在一些实施例中,应用程序层13可以包含操作系统内置的各种应用程序如桌面启动器和系统设置程序;还可以包括第三方的应用程序,例如媒体播放器(Media Player)、浏览器(Browser)、社交/即时通信应用程序等需要显示视图以及通过视图接收各种触摸事件并进行响应的应用程序,用于实现各种业务,实现本发明实施例方法的程序可以包含在应用程序中;如无特别说明,本文中所记载的应用程序可以为系统原生的应用程序和第三方的应用程序中的任意一种。
本发明实施例记载的方法可以应用于处理器中,或者由处理器实现。处理器可能是一种集成电路芯片,具有信号的处理能力。本发明实施例所记载的方法可以通过处理器中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器可以是通用处理器、数字信号处理器(DSP,Digital Signal Processor)、可编程逻辑器件、分立门、晶体管逻辑器件和分立硬件组件等。处理器可以实现或者执行本发明实施例记载的方法。通用处理器可以是微处理器或者任何常规的处理器等。结合本发明实施例所记载的方法,可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成,软件模块可以位于存储介质中,存储介质位于存储器,处理器读取存储器中的可执行指令,结合其硬件完成本发明实施例所记载的方法。
继续说明实现本发明实施例的电子设备中应用程序的功能架构,参见图2A至图2C,图2A、图2B和图2C是本发明实施例记载的应用程序20的可选的架构的示意图,应用程序包括模型(Model)-视图(View)-控制(Control)的架构。
模型(Model)对象,本文中所记载的对象是在应用程序的运行过程中产生的、可由应用程序配置管理并加以控制的实体,模型对象也简称为模型,是应用程序中用于处理数据逻辑的部分,模型中封装了应用程序的数据,并定义操控和处理数据的逻辑运算,通常模型负责在数据库中存取数据,例如模型可能是表示联系人的列表。
用户界面视图(UIView)对象,是用户界面视图类的实例化,本文中也简称为用户界面视图,用户界面视图定义了屏幕上的一个显示区域(如矩形区域),处理显示区域内的触摸事件,能够根据触摸事件显示/更新内容,用户界面视图是依据模型的数据创建。
用户界面视图控制器对象,是用户界面视图控制器对象(用户界面视图控制器类的实例化),本文中也简称为用户界面视图控制器或视图控制器,用户界面视图控制器的基础功能是管理用户界面视图,在应用程序中不同的用户界面视图对应有用户界面视图控制器,用户界面视图控制器还可以包括多个子控制器,如用户界面导航控制器(UINavigationController)和用户界面按钮栏控制器(UITabBarController),其中用户界面导航控制器用于控制用户界面导航栏(UINavigationBar)的显示用户界面视图控制器用于控制用户界面按钮栏(UITabBar)的显示。
就用户界面控制器管理用户界面视图举例来说,用户界面视图控制器所管理的用户界面视图接收到触摸事件(例如点击事件、滑动事件等触摸事件)时,会将触摸事件传递到视图控制器,由视图控制器将触摸事件映射为创建模型或更新模型,创建模型或更新模型时(例如通过网络连接接收到新数据),通知所管理的用户界面视图进行更新,用户界面视图通过解释模型来更新用户界面视图中显示的内容;另外,还可以按照计划控制用户界面视图以何种形式展示内容,包括翻转、淡入淡出等展示效果。
至此已经说明了实现本发明实施例的应用程序的架构,
继续对应用程序显示所依赖的用户界面套件进行说明,应用程序的显示通过用户界面套件(UIKit)实现,用户界面套件通过对图形库如开放图形库(OpenGL)封装得到,将结合附图说明用户界面套件的结构。
参见图3,图3是本发明实施例提供的用户界面套件30可选的结构示意图,根对象(NSObject)是应用程序代码结构的根类(根对象不继承于应用程序中的任何类)的实例化,基于根对象的继承关系顺序为:根对象、用户界面响应器(UIResponder)、用户界面视图控制器以及继承自用户界面视图的子视图,由于用户界面视图是用户界面类实例化得到的用户界面视图对象,因此子视图也称为用户界面视图的子对象,可以理解,下文记载的“视图”可以为图3示出的用户界面视图,也可以为图3示出的继承于用户界面视图的一系列的子视图,如用户界面滚动视图、用户界面按钮栏视图等。
在一些实施例中,通过图3示出的继承于用户界面视图的一系列的子视图,可以轻易地在用户界面视图上追加各种子视图,进而实现应用程序界面中各样的画面,也就是说,应用程序界面中所有的画面都可以通过在用户界面视图中追加各种子视图而形成;此外,用户界面视图可以包括不同的属性以实现不同的显示效果,例如:尺寸、位置、缩放比例、旋转角度、透明度和背景色等。
由上可知,视图除了用于显示所提供的内容之外,也可以作为包括其他视图的容器,当一个视图包括另外一个视图时,就在两个视图之间形成一个父子关系,在这个关系中孩子视图被当作子视图,父视图被当作超视图;在视觉上,子视图隐藏了父视图的内容,如果子视图是完全不透明的,那么子视图所占据的区域就完全的隐藏了父视图的相应区域;如果子视图是部分透明的,那么两个视图在显示在屏幕上之前就混合在一起;每个父视图都可以用一个有序的数组存储着它的子视图,存储的顺序会影响到每个子视图的显示效果。如果两个兄弟子视图重叠在一起,后来被加入的那个视图(或者说是排在子视图数组后面的那个视图)出现在另一个视图的上层。
继续参见图3,由于用户界面响应器封装了一系列用于处理触摸事件的方法,而用户界面视图控制器、用户界面视图、所有从用户界面视图派生出来的对象(包括用户界面窗口)都直接或间接地继承自用户界面响应器,因此具有触摸事件的处理能力;当触摸事件产生时,为了查找响应触摸事件的视图,在用户界面套件中使用用户界面响应器作为响应对象,在用户界面响应器中定义了处理各种触摸事件传递的接口,根据触摸事件是否发生在相应视图的边界之内来确定能够响应触摸事件的视图(例如用户界面视图或其子视图),从而将来自操作系统的触摸事件传递给对应的视图,根据视图控制器根据模型映射而传递的通知,视图在自身的图层(Layer)对象进行绘制实现显示/更新。
在一些实施例中,图层对象(也简称为图层)直接继承自应用程序中的根对象(NSObject),可以作为一个低级的承载绘制内容的对象,在用户界面视图被创建时,用户界面视图内部会自动创建一个图层,通过用户界面视图的图层的属性可以访问图层,用户界面视图通过图层的内容绘制功能实现对显示内容的管理,包括显示和更新,即用户界面视图依赖于图层提供的内容,而图层依赖用户界面视图提供的容器来显示绘制的内容。
例如,当用户界面视图需要在屏幕的应用程序界面显示内容时,会调用图形的绘制方法(drawRect)方法绘图,将内容绘制在对应的图层,绘制完毕后,由操作系统会将图层拷贝到屏幕上,于是就完成了应用程序界面中内容的显示。
需要指出,下文中关于方向性的描述,例如“上”、“下”“左”、“右”、“左部”、“右部”、“顶部”和“底部”,均以面向电子设备屏幕的正视角度作为参照,对于电子设备的显示方向来说,下文以竖屏显示为例进行示例性说明,可以理解,通过显示比例的简单变换,可以轻易应用于电子设备横屏显示的场景。
下面,将根据图3对用户界面视图作为父对象时所包括的子对象进行示例性说明,需要指出,图3示出的用户界面套件仅为示例,根据不同版本的用户界面套件、以及用户界面套件所适用的设备/操作系统,图3中所示出的继承关系以及视图存在可以轻易实施的差异,因此图3不应视为对本发明实施例所适用的用户界面套件的限制。
1)窗口
即用户界面窗口(UIWindow)对象,一个应用程序只有一个用户界面窗口对象,是所有视图的根容器,作为容器提供一个区域来显示用户界面视图,还可以与用户界面视图控制器(UIViewController)协同实现显示方向旋转的支持。
2)显示信息的视图
包括:用户界面文本视图(UITextView),用于显示文本;用户界面标签视图(UILabel),用于显示各种标签;用户界面图像视图(UIImageView),用于显示各种格式的图像;用户界面网络视图(UIWebView),用于显示网页内容;用户界面滚动视图(UIScrollView),本文中也简称为滚动视图,用于以滚动的方式显示内容;2)可选择的视图(以下两个视图类实例都是模态显示的):用户警告视图(UIAlertView),用于在窗口的居中位置的方式显示警告信息;用户活动页(UIActionSheet),用于在窗口的底部位置显示信息。
3)用户界面控制
包括用户界面页面控制(UIPageControl),用于将用户触摸的事件转换为回调控制器的屏幕对象,继承自用户界面页面控制的子对象包括:用户界面分区控制(UISegmentedControl),用于以按钮的形式提供多个选择的操作;用户页面控制(UIPageControl),用于提供针对页面的各种控制,如:用户界面切换(UISwitch),用于提供开/关的操作;用户界面滑动(UISlider),用于提供滑动条的操作;用户界面日期选择(UIDatePicker),用于提供在日期列表中选择日期的操作;用户界面按钮(UIButton),提供可供控制的按钮;用户文本区域(UITextField),用于提供文本输入的文本框。
4)表格和拾取器
用户界面表视图(UITableView),本文中也称为表视图,对于表格的行有一个用户界面表视图单元(UITableViewCell);用户界面选择器视图(UIPicker View),用于提供单列选择或者多列选择的列表。
5)各种栏样式
用户界面导航栏(UINavigationBar),用于提供前进、后退等页面操作;用户界面按钮栏(UITabBar),用于显示各种功能的按钮;用户界面搜索栏(UISearchBar),用于提供搜索操作;用户界面工具栏(UIToolBar),用于提供用户界面的各种工具。
6)进度与活动
用户界面活动指示器视图(UIActivityIndicatorView),用于在用户界面中提示操作正在进行中,例如通过显示菊花旋转形式;用户界面进度视图(UIProgressView),用于提示操作的进度,例如使用进度条的形式。
至此已经说明了用户界面视图及其子视图的功能,用户界面视图是组成屏幕显示画面的基本元素,拥有位置属性以及一定尺寸的矩形,一般有背景色,但是无法移动;用户界面视图也可以包含字符串或者图片等内容。例如用户界面标签(UILabel)就是包含字符串的用户界面套件,而用户界面图片视图(UIImageView)是包含图片的用户界面视图。
参见图4,图4是本发明实施例提供的基于用户界面视图在电子设备的用户界面的显示框架40的示意图,对应响应触摸事件而言,在用户触摸时,操作系统传递到应用程序的触摸事件将被打包成用户界面事件(UIEvent)对象(包含一些处理事件所需要的信息),由用户界面响应器分发给适合的视图,视图接收到触摸事件时会触摸事件传递到对应的视图控制器,视图控制器根据模型映射通知视图更新。
作为示例,视图中的事件处理代码可能进行以下的动作来响应:改变视图或者其子视图的属性(如位置、尺寸和透明度等);调用设置布局方法(etNeedsLayout)方法以标记用户界面视图(或者它的子视图)为需要进行布局更新;调用设置需要显示方法(setNeedsDisplay)或者调用需要绘制方法(setNeedsDisplayInRect)方法以标记用户界面视图(或者它的子视图)需要进行重绘,并通知用户界面视图控制器关于数据的更新。
此外,如果一个视图的几何结构改变,用户界面视图控制器可以根据以下几条规则来更新视图:1)如果自动重设尺寸的规则在发生作用,会根据这些规则来调整视图;2)如果用户界面视图实现子视图布局(layoutSubviews)方法,用户界面视图控制器会调用视图中的方法,方法可以通过被覆盖的方式来调整子视图的位置和尺寸。
如果任何视图的部分被标记为需要重绘,视图会重画自身;对于显式的定义了绘制方法的视图,视图会调用绘制方法尽快重画视图的指定区域,任何已经更新的视图会与应用程序的剩余的可视内容组合在一起,被发送到图形硬件(如处理器),由图形硬件将已解释的内容转化到屏幕上。
再结合视图显示的一个示例进行说明,参见图5,图5是本发明实施例提供的应用程序界面50进行分解的一个可选的示意图,应用程序的视图包括了一个用户界面窗口51,一个可以作为容器的用户界面视图52,一个用于显示图像的用户界面图像视图53,一个用于显示工具栏的用户界面工具栏54和一个用户界面工具条按钮(UIBarButtonIterm)55;用户界面工具条按钮55本身不是一个视图但是在内部管理着一个视图。
图5示出的应用程序界面50的每个视图都有一个相应的图层(即图层对象),图层可以通过相应视图的视图属性被访问,图层可以通过跨平台的核心动画层57的(CoreAnimation)应用程序接口(API)被管理,核心动画层57的应用程序接口直接作用在图层上用于解释图层,并且可以在后台操作,不会阻塞电子设备的主线程,一个视图的绘制代码被调用时,其绘制结果会通过核心动画层57的应用程序接口在电子设备中缓存,并可以在后续过程中被尽可能的重用,重用已经解释过的图层,消除了通常需要更新视图的开销昂贵的绘制周期,可以使用已有的内容,这样比创建新的内容开销更小。
实际应用中,电子设备的屏幕尺寸是有限的,因此直接展示在用户眼前的内容也相当有限,当展示的内容较多例如超出屏幕的一帧画面时,用户可通过滑动手势来查看屏幕以外的内容,普通的用户界面视图不具备滚动显示的功能,因此不能显示过多的内容,用户界面滚动视图是一个能够滚动显示内容的视图,可以用来展示大量的内容,并且可以通过滑动手势查看所有的内容,超过用户界面滚动视图边界的内容会被自动隐藏,根据滑动手势来显示超出用户界面滚动视图边界被隐藏的内容,另外还可以支持根据捏合的手势实现内容的缩放,将继续根据图6A和图6B说明用户界面滚动视图。
参见图6A和图6B,图6A和图6B是本发明实施例提供的用户界面滚动视图的60可选的结构示意图,将说明用户界面滚动视图包括的可配置的属性。
1)内容偏移量(contentOffset),是用户界面滚动视图的内容头部相对于应用程序界面(也就是屏幕显示的一帧完整的画面)的顶部的偏移量,根据偏移方向可以采用纵向内容偏移量和横向内容偏移量。
例如图6B中屏幕一帧画面(例如,全屏显示的应用程序界面)的高度以内容尺寸高度62表示,用户界面滚动视图的内容头部691因为超出了屏幕的显示范围而处于隐藏状态,纵向内容偏移量68就是内容头部相对于应用程序界面顶部的偏移量,内容头部691(虚线表示处于隐藏状态)是用户界面滚动视图60所需要显示内容的起始部分(本文中也称为头部),根据用户向底部的不断滑动会向顶部滚动而处于隐藏状态,不断显示先前处于隐藏状态的内容,直至显示内容的尾部692,也就是用户界面滚动视图60所需要显示内容的结束部分(本文中也称为尾部)。
2)内容尺寸(contentSize),表示用户界面滚动视图显示的内容的尺寸,可以采用如图6B示出的内容尺寸高度(contentSize.Hight,本文中也简称为内容高度)62和内容尺寸宽度(contentSize.Width,本文中也简称为内容宽度)65来表示。
3)额外滚动区域(contentInset),表示在用户界面滚动视图的四周增加额外的滚动区域,用来避免用户界面滚动视图的内容被其他控件遮挡,包括向不同方向可以额外滑动的距离,例如,图6A中示出的额外滚动区域底部(contentInset.Bottom)63、额外滚动区域右部(contentInset.Right)66、额外滚动区域左端(contentInset.Left)64以及额外滚动区域顶部(contentInset.Top)61。
用户界面滚动视图包括子视图,例如根据图2,用户界面表视图是继承自用户界面滚动视图的子视图,用户界面表视图用于以表的方式显示内容,由于继承自用户界面滚动视图,因此具有滚动显示内容的特性,用户界面表视图主要包括分区(Section)、以及可以配置隐藏/显示状态的用户界面表视图尾部(UITableViewFooter)和用户界面表视图头部(UITableViewHeader);另外,每个分区都可以有自己的可以配置隐藏/显示状态的分区头部(SectionHeader)和分区尾部(SecitonFooter),用户界面表视图以及分区的头部和尾部可以是一个简单的字符串,也可以继续嵌套任意类型的视图。
作为示例,参见图7A和图7B,图7A和图7B是本发明实施例提供的用户界面视图70的可选的结构示意图,用户界面表视图70的分区的数量默认为2,头部1、尾部3对应为用户界面表视图70的表视图头部71和表视图尾部74;头部2、尾部0对应为分区1的分区头部75和分区尾部77,头部2、尾部1对应为分区2的分区头部和分区尾部。每个分区包括若干用户界面表视图单元(UITableViewCell)76,例如采用行(Row)的形式,用户界面表视图单元可以作为预先封装的类,包括一些视图,比如用户界面图像视图(UIImageView)和用户界面标签(UILabel)等;行是属于分区管理的属性,通过定制分区的数量、且给每个分区定制行的数量,来完成一个用户界面表视图单元的基本视图构成。
另外,由于用户界面表视图继承于用户界面滚动视图,因此用户界面表视图具有用户界面滚动视图的属性,包括内容偏移量、内容尺寸以及额外滚动区域。例如,在图7B中,用户界面表视图70需要显示10行的内容,而屏幕的一帧画面中只显示了以屏幕(帧)高度78对应的内容,其中行0作为内容头部791,行10作为内容尾部792,行0和行10无法在屏幕的一帧画面中同时显示,由于内容同步和内容尾部处于屏幕的一帧画面之外因此处于隐藏状态,纵向内容偏移量即内容的头部相对于屏幕的一帧的顶部的偏移量。
不管是iOS操作系统还是Android操作系统,应用程序界面都是通过用户界面表视图组织显示,为了展示更多样化的信息,用户界面表视图中除了以行的形式展示数据,还可以在用户界面表视图中进行嵌套以实现复杂的业务显示逻辑,在复杂的应用程序界面中友好的交互是用户体验的一个重要指标,用户体验受多种因素的影响,比如用户在滑动的时候界面是否像在一个列表一样滑动流畅,是否存在闪烁的情况,是否记录用户的操作行为如表视图的滚动位置(即,表视图滚动显示的内容是业务内容的哪个部分,可以通过表视图的纵向内容偏移量来确定);总之,应用程序既要满足产品自身的功能需求,又要兼顾良好的用户体验。
应用程序中往往会涉及多种业务,以即时通信应用的联系人管理功能为例,其包括好友管理、亲人管理、同行好友管理等相关功能。为了提升使用这些功能的操作效率,参见图8A和图8B,图8A和图8B是本发明实施例提供的以用户界面按钮栏提供多个业务内容的入口按钮的可选的示意图,在用户界面按钮栏中显示与上述功能一一对应的按钮,响应于用户切换按钮的操作,在用户界面按钮栏下方相邻区域中对应显示相应按钮对应的业务内容,实现了在一个窗口中快速切换/使用多个业务的内容的技术效果。
试对本发明实施例中实现如8A所示功能的可选方案进行说明,可以理解,本领域技术人员可以轻易地应用于iOS操作系统、Android操作系统等各种操作系统。
在一些实施例中,在应用程序中使用用户界面表单视图显示不同业务的内容,在应用程序中使用用户界面视图显示不同业务的按钮,例如使用继承自用户界面视图的用户界面按钮栏视图81显示不同业务的按钮,在应用程序界面中位于用户界面按钮栏视图81的下方相邻区域加载用户界面表视图83,使用用户界面表视图83根据聚焦状态的按钮显示所对应业务的内容,如好友的列表、亲人的列表等;在图8A中按钮上部的区域可以折叠显示,从而实现如图8B所示的按钮置顶显示的效果。
在另一些实施例中,使用用户界面表视图83显示业务的内容,使用用户界面表视图83的头部即用户界面表视图头部82,显示对应不同业务的按钮,以使按钮始终保持在应用程序界面中置顶显示在屏幕的显示区域的上方;同样的,在图8A中按钮上部的区域可以折叠显示,从而实现如图8B所示的按钮置顶显示的效果。
本发明实施例提供的用于实现如图8A、图8B的上述方案会存在一些问题,将分别进行分析说明。
第一,使用用户界面表视图头部、或者分区头部的方式显示不同业务的按钮,与用户界面表视图头部原先显示的内容冲突。
在用户界面表视图头部或者分区头部已经用于显示内容的情况下,重复利用按钮会出现冲突的情况,为了显示业务内容的按钮必然要清除表视图头部中原来显示的内容,导致原先显示的内容不完整。
举例来说,参见图8C,图8C是本发明实施例提供的以用户界面按钮栏提供多个业务内容的入口按钮的可选的示意图,在用户界面表视图中还存在用于折叠/展开业务内容的列表的菜单84(即“friends”),菜单84是用户界面表视图83的一个分区的头部,在菜单84中的联系人根据滑动更新时菜单84需要在用户界面表视图83中置顶显示,这就与按钮以用户界面表视图头部82实现存在矛盾,无法同时满足按钮置顶显示、以及分区的菜单84置顶显示的需求,如果按钮是以用户界面表视图头部82的方式显示,菜单84则无法重复设置为用户界面表视图的头部,导致用户不能快速的展开/折叠菜单84。
第二,使用用户界面视图的方式实现业务的按钮
首先,为了跟随聚焦的按钮的切换,使用用户界面表视图切换显示聚焦状态的按钮对应的业务内容,如果使用一个用户界面表视图实现,那么在每次聚焦状态的按钮切换时,都涉及到用户界面视图表视图中清除已经加载的业务内容、并重新加载业务内容的列表的过程,用户在视觉上会感知到这个清除和重新加载的过程,这种响应性能的实时性的缺失,不可避免地导致屏幕出现闪烁的情况;
其次,在按钮切换时由于清除了已经加载的业务内容,则业务内容的滚动位置(用于表示表视图在滚动过程中所显示的业务内容的具体部位,例如头部、中部和尾部,作为用户界面表视图的属性)也必然随之清除,这种就导致即使切换曾经点击的按钮,用户界面表视图也会重新显示业务内容,无法接续切换前的滚动位置显示,滚动位置的记忆功能的缺失,影响操作的连续性;
再次,如果为了克服重新加载导致的闪烁问题,使用多个用户界面列表视图来显示不同按钮对应业务的内容,这将会导致应用程序的业务代码逻辑会显著复杂化,特别是在按钮切换时,需要调用相应用户界面表视图,导致业务逻辑复杂化,难以保证左/右滑动手势切换按钮时流畅的体验。
针对上述问题,本发明实施例提供还提供一种在应用程序界面中加载用户界面滚动视图,并在用户界面滚动视图中加载按钮第一栏视图、以及用户界面滚动视图中以嵌套的方式加载用户滚动视图或用户界面表视图的方案,为方便描述,下文中将用户界面滚动视图简称为滚动视图,将用户界面表视图简称为表视图,结合图9A至图9H出的应用程序界面的可选的结构示意图、图10示出的在应用程序界面中进行视图处理方法的一个可选的流程示意图、以及图11示出的在应用程序界面中进行视图处理方法的一个可选的流程示意图进行说明。
参见图9A,在应用程序界面90中加载有滚动视图91,在滚动视图91中载嵌套于滚动视图的按钮栏视图92(对应第一按钮栏视图),以及在与按钮栏视图92下方相邻的区域加载的对应按钮栏视图92中“好友”按钮的表视图93。
就按钮栏视图92中按钮的数量来说,根据需要显示的业务的数量,在按钮栏视图92中显示相应数量的按钮,例如根据不同类别的业务设置与类别相对应的按钮,在图9A中针对好友、群、多人聊天、设备以及通讯录五个业务类别而设置对应的按钮,按钮以文字表示,当然也可以采用图标表示,或者文字和图标结合的方式表示。
就按钮与视图的关系来说,按钮均具有一一对应的视图以用于显示按钮所对应的业务内容,按钮栏视图92中按钮对应的视图以互斥的方式显示,即只有一个按钮对应的视图处于显示状态,例如在图9A中“好友”按钮对应的表视图93处于显示状态,其他按钮对应的视图处于隐藏状态;在图9B中,“群”按钮对应的表视图94处于显示状态,其他按钮对应的视图处于隐藏状态,从而,支持用户可以左/右方向的滑动切换不同业务,保证用户可单手操作。
由于支持通过聚焦按钮的操作切换查看不同业务内容,避免了复用一个视图多个业务时清除内容并重新加载导致的闪烁、以及显示延迟的问题;
就按钮栏视图92与按钮对应的视图来说,二者的位置关系可以灵活变化,例如,如图9A所示,按钮栏视图92位于应用程序界面90的顶部,“好友”按钮对应的视图即表视图93位于按钮栏视图92的下方相邻的显示区域;或者如图9C所示,按钮栏视图92位于应用程序界面90的底部,“好友”按钮对应的视图即表视图93位于按钮栏视图92的上方相邻的显示区域;或者如图9D所示,按钮栏视图92位于应用程序界面90的底部,“好友”按钮对应的视图即表视图93位于按钮栏视图92的下方相邻的显示区域。
就与按钮所对应的视图说,可以根据实际显示内容的需求加载相应类型的视图,例如,当需要在按钮栏视图92下方的显示区域中显示大量内容(即无法在应用程序界面90一次性显示)时,可以在按钮栏视图92下方的显示区域中加载表视图,例如与图9A中的“好友”按钮对应的表视图93,以及与图9B中示出的“群”按钮对应的表视图94;当然,根据显示需要,表视图93/表视图94可以替换为如图2示出的任意一种视图,例如可以是滚动视图,又或者可以是用户界面图像视图、用户界面文本视图中的一个或者多个的结合。
就滚动视图91中可以加载的视图来说,除了可以加载按钮栏视图92以及按钮对应的视图,根据实际显示需要还可以嵌套的方式加载其他类型的视图,例如,参见图9E,图9E示出的应用程序界面90中加载有滚动视图91,在滚动视图91除了以嵌套的方式加载按钮栏视图92以及与“好友”按钮对应的表视图93之外,还可以嵌套的方式在按钮栏视图92上方的相邻区域加载视图,例如用户界面图像/文本视图96,当然也可以替换为如图2示出的任意一种类型的视图,图像/文本视图96中可以用于显示推荐潜在好友的推荐人卡片97,能够根据向应用程序界面90左端或右端滑动的触摸事件,切换不同联系人的信息;按钮栏视图92在滚动视图92的设定位置显示,设定位置可以为应用程序界面90顶部之外的任意显示位置,如图9E示出的在应用程序界面90的中间位置。
至此,已经对应用程序界面中加载视图的处理过程进行了说明,上述示例性说明的应用程序界面的结构,将应用程序的业务接入到按钮栏视图的按钮,形成更复杂的应用程序界面,实现以多样化的内容形式展示给用户业务内容;同时,由于按钮栏中各按钮的视图不存在耦合关系,有利于应用程序中不同业务的拆分和组合。
例如,图9A示出的按钮栏视图92中“好友”按钮、“群”按钮对应的业务内容可以容易的进行合并为新的“好友+群”按钮,并使用“好友+群”按钮对应的视图控制器控制“好友+群”列表的显示,当然,对于好友”按钮、“群”按钮也可以拆分为多个新的按钮;同时,新的业务可以通过增加按钮、对应的控制器以及视图的方式,可以进行灵活的接入,有利于重点业务的快速上线和推广。
将继续对应用程序界面加载视图后,应用程序初始化以及根据触摸事件进行视图管理的过程说明,当应用程序初始化,或者切换到某一个功能面板如联系人面板时,在应用程序界面中加载有滚动视图(步骤101),在滚动视图加载嵌套于滚动视图的第一按钮栏视图(步骤102),以及在滚动视图中与第一按钮栏视图相邻的区域加载对应按钮栏视图中按钮的视图(步骤103)。
如前所述,视图的显示通过控制器以及模型完成,以图9A至图9E示出的应用程序界面90为例,应用程序界面90中的视图均具有对应的视图控制器,视图控制器用于通过进行模型映射确定所控制视图如何显示/更新,并以通知的形式控制视图进行显示/更新;例如,按钮栏视图92的显示受到按钮栏视图92的视图控制器的控制;此外,按钮栏视图92包括的按钮还一一对应分配有视图控制器,在按钮栏视图92中,好友、群、多人聊天、设备以及通讯录共五个业务,每个业务分配有对应视图控制器,对应控制好友、群、多人聊天、设备以及通讯录五个按钮所对应的视图。
在一些实施例中,当应用程序在初始化的启动过程中,默认加载包括如图9A所示的按钮栏视图92时,将执行按钮栏视图92中的一个按钮如“好友”处于默认的聚焦状态,本文中将在按钮栏视图92中形成的聚焦按钮称为第一聚焦按钮,以区分于在其他滚动视图中形成的聚焦按钮,按钮栏视图92的视图控制器根据按钮栏视图92的模型映射,通知按钮栏视图92更新显示处于聚焦状态的按钮即“好友”按钮,按钮栏视图92将在图9A中将按钮“好友”显示为聚焦状态(在图9A中以下划线表示);
此外,第一聚焦按钮所对应的视图控制器,将控制第一聚焦按钮对应的视图显示业务内容;以应用程序初始化时“好友”按钮为聚焦按钮为例,“好友”按钮对应的视图控制器,将根据“好友”按钮对应的表视图93进行模型映射,并通知“好友”按钮对应的表视图93,通过通知控制在表视图93的显示区域中加载“好友”列表。
作为在第一聚焦按钮对应的视图中显示业务内容的示例,当第一聚焦按钮对应的视图为表视图时,第一聚焦按钮对应的视图控制器通知第一聚焦按钮对应的视图,控制第一聚焦按钮对应的表视图以行的形式显示业务内容,行是基本的表视图单元,通过嵌套用户界面文本视图或用户界面图像视图的方式对应显示文本/图像,能够适应显示不同形式的业务内容的需求。
作为在第一聚焦按钮对应的视图中显示业务内容的另一示例,当第一聚焦按钮对应的视图为表视图时,第一聚焦按钮对应的视图控制器通知第一聚焦按钮对应的表视图,控制第一聚焦按钮对应的视图以折叠菜单的形式在分区中显示业务内容,菜单包括表示第一聚焦按钮所对应业务内容划分多个子类,在表视图中显示业务内容的菜单,从而能够迅速定位需要查找的业务内容如联系人,涉及以下几个方面:
1)表视图每个分区的头部用于显示第一聚焦按钮所对应业务的一个子类,分区中的行用于显示子类包括业务内容,并且默认以折叠的方式隐藏以节约显示空间,多个子类构成业务内容的菜单,如图9A示出的表视图93,表视图93中显示“好友”这一业务内容的菜单,通过菜单将好友划分为多个子类,包括“特别关心”、“我的好友”、“朋友”、“家人”和“同学”。
2)根据点击菜单的触摸事件,菜单中在折叠状态/展开状态之间进行切换。
如图9A示出的表视图93,表视图93中显示“好友”这一业务内容的菜单,菜单中的每个子类处于默认的折叠状态以节约表视图93的显示空间,响应于点击菜单中子类的触摸事件,子类所包括的业务内容展开,便于定位子类包括的业务内容。
不难看出,由于菜单使用表视图菜单的头部进行显示,而按钮栏视图采用按钮栏视图进行显示的方案,克服了按钮和菜单都需要使用表视图头部或分区头部来显示的技术方案而导致冲突的问题,同时借助于表视图的滚动特性,菜单和按钮视图可以轻易地滚动到应用程序界面的顶部显示。
在另一些实施例中,当发生用户在图9A示出的按钮栏视图92点击按钮以形成第一聚焦按钮的触摸事件时,这里,假设点击了“群”按钮,那么,如图9B所示,“群”按钮将成为按钮栏视图92中新的第一聚焦按钮,而图9A中示出的先于“群”按钮获得聚焦状态而成为第一聚焦按钮的“好友”按钮将释放所获得的聚焦状态,本文中将由于切换按钮导致的释放所获得的聚焦状态的按钮称为释放聚焦按钮。
对应“群”按钮的触摸事件将从操作系统传递到用户界面响应器,经由用户界面响应器传递到应用程序中响应触摸事件的视图,包括按钮栏视图92,第一聚焦按钮即“群”按钮对应的表视图93、以及释放聚焦按钮即“好友”按钮对应的表视图94,在接收到触摸事件时会将触摸事件传递到对应的视图控制器,即按钮栏视图92的视图控制器、释放聚焦按钮即“好友”按钮对应的视图控制器、以及第一聚焦按钮即“群”按钮对应的表视图94。
接收到触摸事件的视图控制器将响应于在按钮栏视图92中针对第一聚焦按钮即“群”按钮(对应第一聚焦按钮)的触摸事件,进行如下同步显示操作:第一聚焦按钮更新(步骤104)、在释放聚焦按钮对应的视图中中止加载释放聚焦按钮对应的业务内容(步骤105)、以及在第一聚焦按钮对应的视图中加载第一聚焦按钮对应的业务内容(步骤106)。
就第一聚焦按钮的更新来说,按钮栏视图92的视图控制器通知按钮栏视图92,通知用于控制按钮栏视图92从显示如图9A所示的“好友”按钮处于聚焦状态,切换为显示如图9B所示的“群”按钮处于聚焦状态。
就在释放聚焦按钮对应的视图中中止加载释放聚焦按钮对应的业务内容来说,释放聚焦按钮对应的视图控制器,也就是“好友”按钮对应的视图控制器通知“好友”按钮对应的表视图93设置为隐藏状态,表视图93将在应用程序界面90中隐藏,此时,表视图93中加载的业务内容可以处于缓存状态,并缓存表视图93中的滚动位置,从而再次加载时继续根据滚动位置显示,实现业务内容显示的接续性;当然,根据实际的内存使用情况,当内存不足时,表视图93中加载的业务内容可以处于释放状态,即从内存中释放,从而实现内存资源的集约化。
就在第一聚焦按钮对应的视图中加载第一聚焦按钮对应的业务内容来说,第一聚焦按钮对应的视图控制器,也就是“群”按钮对应的视图控制器通知“群”按钮对应的表视图93设置为显示状态,表视图93将在应用程序界面90中加载“群”按钮对应的业务内容,至此,完成针对点击“群”按钮的触摸事件进行同步显示的相关视图处理。
在一些实施例中,应用程序界面90中除了加载滚动视图91,还可以根据显示业务的需要而加载如图2示出的任意类型的视图,例如参见图9E,在应用程序界面的底部加载独立于(即,没有嵌套于滚动视图)滚动视图的按钮栏视图95(本文中也称为第二按钮栏视图),从而,应用程序界面90中除了利用滚动视图91显示不同类型的联系人,还可以利用未嵌套于滚动视图的按钮栏视图95显示如“消息”、“动态”等与联系人相同层次的业务,在应用程序界面90中实现业务的多层嵌套显示。
继续参见图9E,在应用程序界面90与表视图93下方相邻的显示区域加载第二按钮栏视图即按钮栏视图95,按钮栏视图95未嵌套于滚动视图91,二者不具有嵌套关系,按钮栏视图95用以显示如联系人、消息、动态等不同类型的业务对应的按钮,从按钮所对应的业务的角度,对于按钮栏视图92显示的按钮所对应的业务,是按钮栏视图95中处于聚焦状态的按钮所对应业务的子类,例如,当按钮栏视图95中的按钮“联系人”处于聚焦状态时,在按钮栏视图92中将显示“联系人”所包括的业务对应的按钮,即好友、群、多人聊天、设备和通讯录。
例如,当在应用程序界面90加载滚动视图91时,在应用程序界面90中加载未嵌套于滚动视图91的按钮栏视图95(即第二按钮栏视图),位于表视图93下方相邻的显示区域;当用户点击按钮栏视图95中的“联系人”按钮时,响应于在按钮栏视图95中形成聚焦按钮(为了与按钮栏视图92中形成的聚焦按钮区别,在按钮栏视图95中形成的聚焦按钮也称为第二聚焦按钮)的触摸事件,在按钮栏视图92中加载多个按钮,按钮栏视图92中所加载的多个按钮对应的业务为第一聚焦按钮所对应的“联系人”业务的子类,包括“好友”、“群”、“多人聊天”、“设备”和“通讯录”。
至此,已经说明了加载滚动视图,并以嵌套的方式在滚动视图中加载按钮栏视图/表视图的应用程序界面,在滚动视图中嵌套视图的方式,借助于滚动视图的滚动显示的特性,使用户在滑动的时候就如同在一个表单滑动交互一样。
对于开发者来说,通过将各个按钮对应的业务内容使用不同的视图来显示,可以轻易实现不同业务之间的解耦,新的业务内容可以通过增加按钮以及对应的视图快速与应用程序界面中已经显示的业务对接,快速满足产品需求,也方便各个业务拆分组合,提升用户查询/使用不同业务的效率。
可以理解,虽然上文中仅记载了应用程序界面中加载一个滚动视图,并在滚动视图中继续嵌套加载表视图和按钮视图的应用程序界面,但是可以理解,根据本发明实施例记载的上述应用程序界面的基本结构,应用程序界面的结构还可以进行各种灵活的变化,包括视图嵌套的层次以及每个层次的视图的数量都可以灵活变化,因此图9A至图9E示出的应用程序界面的结构仅仅是部分实施例而非全部实施例。
例如,就视图嵌套的层次来说,可以实现依次嵌套的滚动视图-表视图-用户界面文本视图/用户界面图像视图,当然也可以实现更多层次的嵌套。
继续对第一聚焦按钮对应视图中接收滑动的触摸事件时进行视图管理的处理进行说明,参见图9A,示出的应用程序界面90中包括滚动视图91、按钮栏视图92和表视图93,用户界面响应器根据触摸事件发生的位置定位触摸事件发生在滚动视图91和表视图93的内部边界,滚动视图91和表视图93会接收到滑动的触摸事件(步骤107),当接收到第一聚焦按钮对应视图中纵向滑动的触摸事件时,将响应于触摸事件,第一聚焦按钮对应的视图控制器控制第一聚焦按钮所对应的视图即表视图93,以及,滚动视图91的视图控制器控制滚动视图91,通过控制在应用程序界面90中根据滑动进行同步显示(步骤108);可以理解,针对图9A的说明同样适用于图9B至图9E示出的应用程序界面90。
在一些实施例中,当在第一聚焦按钮对应视图中接收到滑动的触摸事件时,用户在第一聚焦按钮对应视图中滑动的触摸事件(下文中也简称为滑动或滑动触摸事件)时,由于与第一聚焦按钮对应的视图嵌套在滚动视图中,因此响应滑动触摸事件包括如下的响应方式:
响应方式1)按照第一聚焦按钮对应视图、滚动视图的先后顺序响应滑动的触摸事件。
例如,当持续接收到向应用程序界面的顶部滑动的触摸事件时,滚动视图的显示位置保持不变,由第一聚焦按钮对应视图(如表视图、滚动视图)向应用程序界面的底部滚动显示相应业务内容的方式进行响应,当向底部滚动显示至相应业务内容的尾部、且尾部在第一聚焦按钮对应视图中置底显示时,如果还继续接收到向底部滚动的触摸事件,第一聚焦按钮对应视图保持所显示业务内容的滚动位置,即保持业务内容的尾部地置底显示,并由滚动视图以继续向应用程序界面顶部移动显示位置的方式响应,直至不再接收到向应用程序界面顶部滚动的触摸事件,或者滚动视图中加载的按钮栏视图到达应用程序界面的顶部。
再例如,当持续接收到向应用程序界面底部滑动的触摸事件时,滚动视图的显示位置保持不变,由第一聚焦按钮对应视图向应用程序界面的顶部滚动显示相应业务内容的方式进行响应,当滚动显示至相应业务内容的头部且头部在第一聚焦按钮对应视图中置顶显示时,如果还继续接收到向应用程序界面底部滑动的触摸事件,第一聚焦按钮对应视图保持所显示业务内容的滚动位置,并由滚动视图继续以向应用程序界面底部移动显示位置的方式响应,直至不再接收到向底部滑动的触摸事件,或者,滚动视图中嵌套的按钮栏视图到达设定位置,如应用程序界面的中间位置。
响应方式2)按照滚动视图、第一聚焦按钮对应视图的先后顺序响应滑动的触摸事件。
例如,当持续接收到向应用程序界面的顶部滑动的触摸事件时,第一聚焦按钮对应视图保持所显示的业务内容(即保持滚动位置不变),滚动视图通过向应用程序界面顶部移动显示位置的方式进行响应;当滚动视图中嵌套的按钮栏视图到达应用程序界面的顶部时,第一聚焦按钮对应视图代替滚动视图进行响应,向底部滑动显示相应业务内容,直至显示至相应业务内容的尾部,且尾部在第一聚焦按钮对应视图置底显示。
再例如,当持续接收到向应用程序界面的底部滑动的触摸事件时,第一聚焦按钮对应视图保持所显示的业务内容(即保持滚动位置不变),滚动视图通过向应用程序界面底部移动显示位置的方式进行响应;当滚动视图中嵌套的按钮栏视图到达应用程序界面的设定位置时,第一聚焦按钮对应视图代替滚动视图进行响应,向顶部滑动显示相应业务内容,直至显示至相应业务内容的头部,且头部在第一聚焦按钮对应视图中置顶显示。
需要指出,上述不同的视图响应方式可以作为全局的视图响应方式,即不管是在第一聚焦按钮对应视图中接收到向应用程序界面顶部滑动的触摸事件,还是接收到向应用程序界面底部滑动的触摸事件,统一采用前述的响应方式1)或响应方式2);或者,上述的响应方式还可以与滑动的方向(即向应用程序界面的顶部或底部滑动)关联,例如,如下响应方式3):
响应方式3)当在第一聚焦按钮对应视图中接收到向应用程序界面底部滑动的触摸事件时,按照第一聚焦按钮对应视图、滚动视图的先后顺序响应滑动的触摸事件;当在第一聚焦按钮对应视图中接收到向应用程序界面顶部滑动的触摸事件时,按照滚动视图、第一聚焦按钮对应视图的先后顺序响应滑动的触摸事件;根据滑动方向的差异使用相应视图响应方式的方案,更贴合用户的使用习惯,有利于业务内容的迅速定位。
结合响应方式3),将分别针对在第一聚焦按钮对应视图中接收到向应用程序界面底部滑动的触摸事件、以及接收到向应用程序界面顶部滑动的触摸事件进行响应时的视图管理进行说明。
在一些实施例中,将结合图9F和图9G示出的应用图形界面90,针对按钮栏视图95中“联系人”按钮处于聚焦状态,从而滚动视图91中实现了联系人面板的功能,将在第一聚焦按钮(即“好友”按钮)对应视图(即表视图93)中接收到向应用程序界面90底部滚动视图的触摸事件时的视图处理进行说明;需要指出,图9A至图9E示出的应用图形界面90同样适用于下文中针对图9F和图9G的说明。
结合图9F和图9G,并参见图11,图11是本发明实施例提供的响应滑动的触摸事件的一个可选的视图管理的流程图,在第一聚焦按钮对应视图(即“好友”按钮对应表视图93)中,接收到向应用程序界面90底部滚动的触摸事件时,操作系统从图形硬件获得相应的滑动触摸事件,通过用户界面响应器传递到滚动视图91和表视图93(步骤201)。
滚动视图91需要能够感知到“好友”按钮对应表视图93是否置顶显示了业务内容的头部(即“特别关心”子类),为此,提供滚动视图91与表视图93通过接口相互感知的方案,接口能够传递表视图93的纵向内容偏移量,用以表示业务内容的头部是否在表视图93中置顶显示;当滚动视图91接收到向应用程序界面90底部滑动的触摸事件时,使用滚动视图90与表视图93之间的接口,获得表视图93的纵向内容偏移量,根据表视图93的纵向内容偏移量是否为零,判定表视图93中是否置顶显示至相应业务内容的头部(步骤202)。
当表视图93还未置顶显示显示业务内容即“好友”列表的头部时,说明表视图93仍然可以继续响应触摸事件,滚动视图91的视图控制器将控制滚动视图91保持滚动视图的纵向内容偏移量,通过控制保持滚动视图91在应用程序界面90中的显示位置(步骤203),从而实现滚动视图91对触摸事件的屏蔽响应;同时,由表视图93的视图控制器控制表视图93进行同步显示:表视图93向应用程序界面90的顶部滚动显示“好友”列表,“好友”列表底部原先隐藏的联系人将不断显示,直至不再接收到向底部滑动的触摸事件,或者,根据持续接收的向底部滑动的触摸事件,第一聚焦按钮对应视图置顶显示“好友”列表的头部即“特别关心”子类(步骤204)。
当表视图93已经置顶显示了“好友”列表的头部时,若还接收到向应用程序界面90底部滑动的触摸事件,那么,滚动视图91将代替表视图93响应触摸事件,使用滚动视图91对应的控制器控制滚动视图90进行以下同步显示:根据滑动的幅度,向应用程序界面90的底部移动显示位置(步骤205),由于按钮栏视图92在嵌套在滚动视图91中,因此按钮栏视图92的显示位置与滚动视图91同步向底部动,当按钮栏视图92的显示位置向底部移动应用程序界面90中的设定位置(例如,图9E示出的在应用程序界面90的中间位置)时,如果继续接收到向底部滑动的触摸事件,按钮栏视图92的显示位置将不能继续向底部滚动;此时,根据滚动视图91的滑动额外滚动区域的高度,滚动视图91的视图控制器将控制滚动视图91向底部滚动相应的高度,保持设定时间后将复位,使得避免滚动视图91被其他控件(如搜索栏、运营商标识和时钟等)遮挡的内容将得以查看。
在一些实施例中,将结合图9F和图9H示出的应用图形界面90,针对按钮栏视图95中“联系人”按钮处于聚焦状态,滚动视图91中实现了联系人面板的功能,将在第一聚焦按钮(即“好友”按钮)对应视图(即表视图93)中接收到向应用程序界面90顶部滚动视图的触摸事件时的视图处理进行说明。
结合图9F和图9H,并参见图11,图11是本发明实施例提供的响应滑动的触摸事件的一个可选的视图管理的流程图,在“好友”按钮对应表视图93中,接收到向应用程序界面90顶部滚动的触摸事件时,操作系统从图形硬件获得相应的滑动触摸事件,通过用户界面响应器传递到滚动视图91和表视图93(步骤301)。
“好友”按钮对应的表视图93需要能够感知按钮栏视图92是否在应用程序界面90的顶部显示;因此,提供滑动视图90与表视图93通过接口相互感知的方案,接口能够传递滚动视图91的纵向内容偏移量,表视图93的视图控制器根据滚动视图91的纵向内容偏移量,判断按钮栏视图92是否在应用程序界面90的顶部显示(步骤302)。
举例来说,在图9H中,通过设定滚动视图91的高度为:滚动视图91中所加载视图中除表视图93之外的视图(也称为特定视图)的高度的加和,并减去按钮栏视图92的高度,从而滚动视图91的高度可以表示为:高度1(对应图像/文本视图96的高度)+高度2(表视图93的高度与按钮栏视图91的高度的加和)-高度3(按钮栏视图92的高度);
通过接口向“好友”按钮对应的表视图93传递滚动视图91的纵向内容偏移量,当纵向内容偏移量达到设定的滚动视图91的高度时,即如图9F所示,通过对滚动视图91、以及表视图93的高度进行设定,巧妙地实现了当滚动视图91向应用程序界面90的底部滚动至最大的纵向内容偏移量时,按钮栏视图92恰好在应用程序界面90的顶部显示,实现了表视图93和滚动视图91在应用程序界面93的良好融合。
当按钮栏视图92还未在应用程序界面90的顶部显示时,说明按钮栏视图92仍然可以继续响应滑动触摸事件,表视图93的视图控制器将控制表视图93保持表视图93的纵向内容偏移量,通过控制保持表视图93所显示的业务内容即“好友”列表(步骤303)的滚动位置,从而实现表视图93对触摸事件的屏蔽响应;同时,由滚动视图91的视图控制器控制滚动视图91进行同步显示:根据滑动的幅度向应用程序界面90的顶部移动显示位置,直至不再接收到向顶部滑动的触摸事件,或者,根据持续接收的向顶部滑动的触摸事件,滚动视图91中嵌套的按钮栏视图92到达应用程序界面90的顶部(步骤304)。
当按钮栏视图92在应用程序界面90的顶部显示时,若还接收到向应用程序界面90顶部滑动的触摸事件,那么,表视图93将代替滚动视图91响应触摸事件,使用表视图93对应的控制器控制表视图93进行以下同步显示(步骤305):表视图93向应用程序界面90向底部滚动显示“好友”列表,直至不再接收到向顶部滑动的触摸事件,或者,根据持续接收的向顶部滑动的触摸事件,在表视图93中置底显示“好友”列表的尾部即“初中同学”子类;如果继续接收到向顶部滑动的触摸事件,由于“好友”列表已经滑动到尾部因此表视图93将不能继续响应触摸事件;此时,根据滚动视图91的滑动额外滚动区域的高度,滚动视图91的视图控制器将控制滚动视图91向顶部滑动相应的高度,保持设定时间后将复位,使得避免滚动视图91的底部的控件遮挡的内容将得以查看。
继续结合本发明实施例提供的视图管理方案应用在即时通信应用程序的一个示例进行说明,本发明实施例提供的视图管理方案主要应用于复杂的应用程序界面,需要容纳更多样化的内容,表视图的列表不单展示一行行的数据,以图9E示出的即时通信应用程序中的联系人面板为例,通过嵌套与滚动视图91的按钮栏视图92和表视图93实现,联系人面板不再单单展示好友,群列表信息,对于好友、群、多人聊天等类别的业务可以通过按钮栏视图92中的按钮快速切换查看;同时为了推广关系链,推荐人卡片97显示在按钮栏视图92上方相邻的显示区域,通过这样的显著位置更直观展示给用户,引导用户快速方便的扩展社交关系;实际应用中,对于在即时通信应用程序需要推广的内容,都可以集成在滚动视图91的显著位置(如上半部分的显示区域)将要推广的业务快速集成到显著位置。
在用户使用即时通信应用的过程中,当通过点击按钮栏视图95中的“联系人”切换为显示联系人面板时,用户可能认识的人通过推荐人卡片97展示给用户,对于感兴趣的人可以方便地进行添加为加好友的操作,如果不感兴趣,可以左/右滑动推荐人卡片97继续筛选可能认识的人,由于“好友”列表与推荐人卡片使用不同的视图,二者是相互独立的,因此在这个操作过程中,不会影响在“好友”列表中上/下滑动的交互。
根据在“好友”列表中向应用程序界面顶部/底部滑动而实施对应的响应方式来说,涉及滚动视图91与表视图93的相互感知:第一、滚动视图91的视图控制器根据感知的表视图93的纵向内容偏移量,判断表视图93是否置顶显示了“好友”列表的头部,以及是否置底显示了“好友”列表的尾部;第二、表视图93的视图控制器根据感知的滚动视图91的纵向内容偏移量,判断按钮栏视图92是否在应用程序界面90的顶部显示,或者是否处于应用程序界面90的设定位置。
参见图9H,用户在“好友”列表中向应用程序界面90的顶部滑动(即,向上滑动)时,滚动视图91将接收到触摸事件,根据接口感知到按钮栏视图93还未滚动到应用程序界面90的顶部,滚动视图91将首先响应触摸事件,按钮栏视图93、表视图93以及图像/文本视图96(包括业务如卡片,新朋友等的按钮)将同步向应用程序界面90的顶部移动,也即是滚动视图91整体上将向应用程序界面90的顶部滚动;当按钮栏视图93移动到应用程序界面90的顶部,即按钮栏视图93在应用程序界面90中置顶显示,用户继续向应用程序界面90的顶部滑动时,由于滚动视图91的显示位置不能继续向顶部移动,表视图93将代替滚动视图91响应触摸事件,“好友”列表将继续向底部滚动显示,直至滚动到“好友”列表的尾部,即“好友”列表中的尾部“初中同学”在表视图93中置底显示。
在图9H中,滚动视图91向顶部滚动的距离达到滚动视图91的高度时,按钮栏视图92恰好到达应用程序界面90的顶部,而表视图93首先响应向顶部滑动的触摸事件,并且表视图93置顶显示“好友”列表的头部时,iOS操作系统中默认使用特效(如糖果效果)提示不能继续向顶部滑动,而实际上还可以继续向顶部滑动以使图像/文本视图96隐藏,为了避免用户误解,表视图91的控制器将在表视图93向底部滚动时关闭特效功能,不难理解,在表视图向顶部滚动时可以开启特效功能,这是因为不会造成用户的误解。
再参见图9G,用户在“好友”列表中向底部滑动时,根据与滚动视图91的接口,表视图93的控制器获取滚动视图91在应用程序界面90的纵向内容偏移量,判断按钮栏视图92的显示位置是否移动至应用程序界面90的顶部,如果没有滚动至应用程序界面90的顶部,表视图93首先进行响应,表视图93中的“好友”列表根据滑动向应用程序界面90的顶部滚动显示,直至用户停止向应用程序界面90的底部滑动,或者,根据用户持续向底部滑动,“好友”列表持续向顶部滚动,直至头部“特别关心”在应用程序界面90的置顶显示。
此后,如果用户继续在“好友”列表中底部滑动,滚动视图91的显示位置将在整体上向应用程序界面90的底部移动,滚动视图91原先隐藏的图像/文本视图96将随着滚动从应用程序界面90的顶部出现,并逐步向底部移动,直至按钮栏视图92的显示位置到达在应用程序界面90中的中间位置(中间位置为设定位置)。
虽然滚动视图91中嵌入了用户界面图像/文本视图96、表视图93以及按浏览视图92多个视图,但是借助于在表视图93中不同的滑动方向而对应实施的响应方式,尽管用户是在表视图93中滑动,然而嵌套的滚动视图91与表视图93根据响应方式仍然实现了双重滚动,让用户体验像在一个列表中操作一样,通过滚动可以轻松切换多种业务,此外,根据滑动方向使用对应的响应方式,符合用户使用习惯,有利于业务内容的快速定位。
例如,在表视图93中向底部滑动时,即使表视图93中的“好友”列表向顶部滚动至头部并且之置顶显示了头部,用户仍然可以通过继续在表视图93中向底部滑动的方式来移动滚动视图91的显示位置,使承载推荐人卡片97的图像/文本视图97逐步显示。
此外,按钮栏视图92的多个按钮也可以支持根据向应用程序界面90的左端/右端的滑动切换显示不同的业务,尤其对于现在移动设备屏幕日益增大的趋势,在按钮栏视图92置顶时通过左/右方向的滑动的(滑动)可以支持单手操作。
在滚动视图91中嵌套按钮栏视图92的方式可以实现快速定位业务内容的效果,即时通信应用程序中原先属于二级面板的业务内容,可以通过在按钮栏视图92设置的多个按钮而切换显示,结合还可能认识的人的推荐人卡片97的展示,使得联系人面板承载更多的多样化的内容,通过在滚动视图91中嵌套按钮栏视图92和表视图(例如与好友按钮对应的表视图93),实现了滚动视图91和表视图93的双重滑动,实现以不同视图显示内容的灵活切换。
滚动视图91作为应用程序界面90最外部的视图,业务里面的列表使用表视图93显示,可以直接使用原先二级面板的业务内容,减少即时通信应用程序的改动,滚动视图91滑动到应用程序界面90的底部时,按钮栏视图92的按钮在应用程序界面90的顶部,不能继续向顶部滑动,“好友”列表中的菜单项可以直接使用即时通信应用程序的二级面板逻辑,从而使得按钮对应的业务内容可以复用二级面板的业务内容,只要在联系人面板中设置二级面板的业务内的实时刷新即可规避重写业务逻辑导致的风险。
继续说明实现本发明实施例的电子设备的一个可选的功能结构,参见图13,图13本发明实施例提供的电子设备120的一个可选的结构示意图,包括:加载单元121、第一响应单元122和第二响应单元123,下面分别进行说明。
加载单元121,用于在应用程序界面中加载嵌套于滚动视图的第一按钮栏视图;在与所述第一按钮栏视图相邻的区域加载对应所述按钮栏中按钮的视图。
第一响应单元122,用于响应于在所述第一按钮栏视图中形成第一聚焦按钮的触摸事件,使用所述第一聚焦按钮对应的视图控制器控制所述第一聚焦按钮对应的视图,通过控制在相应视图中加载所述第一聚焦按钮对应的业务内容。
第二响应单元123,用于响应于针对第一聚焦按钮对应的视图中滑动的触摸事件,控制所述按钮所对应的视图、以及控制所述滚动视图在所述应用程序界面中根据所述滑动同步显示。
在一个实施例中,所述第二响应单元123还用于:当响应于在所述第一聚焦按钮对应的视图中的触摸事件,所响应的触摸事件向所述应用程序界面的底部滑动时,控制所述第一聚焦按钮对应视图、所述滚动视图顺序响应所述触摸事件。
在一个实施例中,所述第二响应单元123还用于:当响应于在所述第一聚焦按钮对应的视图中的触摸事件,所响应的触摸事件向所述应用程序界面的顶部滑动时,控制所述滚动视图、所述第一聚焦按钮对应视图顺序响应所述触摸事件。
在一个实施例中,所述第二响应单元123还用于:保持所述滚动视图在所述应用程序界面中的显示位置;控制所述第一聚焦按钮对应的视图向顶部滚动显示所述第一聚焦按钮对应的业务内容;当所述第一聚焦按钮对应的业务内容的头部置顶显示时,控制所述滚动视图根据所述滑动更新在所述应用程序界面中的显示位置。
在一个实施例中,所述第二响应单元123还用于:使用所述滚动视图与所述第一聚焦按钮对应视图之间的接口,获得所述第一聚焦按钮对应视图的内容偏移量;当所述第一聚焦按钮对应视图的内容偏移量为零时,判定所述第一聚焦按钮对应的视图中置顶显示相应业务内容的头部。
在一个实施例中,所述第二响应单元123还用于:根据向底部滑动的幅度,控制所述滚动视图向底部移动在所述应用程序界面中的显示位置,直至,不再接收到向底部滑动的触摸事件,或者,直至所述第一按钮栏视图向底部移动至所述应用程序界面的设定位置。
在一个实施例中,所述第二响应单元123还用于:保持所述第一聚焦按钮对应的视图中所显示的业务内容;控制所述滚动视图向顶部移动在所述应用程序界面中的显示位置;当所述第一按钮栏视图移动至所述应用程序界面的顶部时,控制所述第一聚焦按钮对应的视图根据所述滑动更新显示业务内容。
在一个实施例中,所述第二响应单元123还用于:使用所述第一聚焦按钮对应视图与所述滚动视图之间的接口,获得所述滚动视图的内容偏移量;当所述滚动视图的内容偏移量达到所述滚动视图的设定高度时,判定所述第一按钮栏视图滚动至所述应用程序界面的顶部。
在一个实施例中,所述第二响应单元123还用于:根据向顶部滑动的幅度,控制所述第一聚焦按钮对应的视图向底部滚动显示第一聚焦按钮对应的业务内容,直至,不再接收到向顶部滑动的触摸事件,或者,所述第一聚焦按钮对应的业务内容的尾部置底显示。
在一个实施例中,所述第二响应单元123还用于:当通过控制在相应视图中加载所述第一聚焦按钮对应的业务内容时,控制释放聚焦按钮对应的视图加载的业务内容处于释放状态,或者,控制所述释放聚焦按钮对应的视图加载的业务内容处于隐藏状态;其中,所述释放聚焦按钮为所述按钮栏视图中的按钮,且先于所述第一聚焦按钮取得聚焦状态。
在一个实施例中,所述加载单元121,还用于:当在所述应用程序界面加载所述滚动视图时,在所述应用程序界面中加载未嵌套于所述滚动视图的第二按钮栏视图,所述第二响应单元123还用于:响应于在所述第二按钮栏视图中形成第二聚焦按钮的触摸事件,在所述第一按钮栏视图中加载多个按钮,所加载的多个按钮对应的业务为所述第二聚焦按钮对应业务的子类。
综上所述,本发明实施例提出的方案具有以下有益效果:
1)实现了嵌套多个视图的应用程序界面中操作时具有单个视图的滑动体验,能够应用在复杂界面布局的场景,根据滑动方向使用对应的响应方式,符合用户使用习惯,有利于业务内容的快速定位;
2)将应用程序的业务接入到按钮栏视图的按钮,形成更复杂的应用程序界面,实现以多样化的内容形式展示给用户业务内容;
3)按钮栏视图支持用户单手左/后操作切换显示不同业务内容,能够适用于大屏幕的电子设备;
4)按钮栏中各按钮的视图不存在耦合关系,有利于应用程序中不同业务的拆分和组合,根据实际的业务需求可以进行灵活的接入,有利于重点业务的快速上线和推广;
5)支持通过聚焦按钮的操作切换查看不同业务内容,避免了复用一个视图多个业务时清除内容并重新加载导致的闪烁、以及显示延迟的问题;
6)不同按钮对应的视图复用与第一按钮栏相邻的区域,在应用程序界面的嵌套的多个按钮对应视图中滑动操作时,实现了相当于在同一视图中滑动操作的感知效果,在多个视图中的滑动操作得以简化;
7)通过设定滚动视图和第一聚焦按钮对应视图的高度,巧妙实现了当滚动视图的纵向内容偏移量达到滚动视图的设定高度时,第一按钮栏视图恰好在应用程序界面的顶部显示,保证滚动视图和第一聚焦按钮对应视图双重滚动的效果与单个滚动视图滚动操作的感知一致。
以上所述,仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和范围之内所作的任何修改、等同替换和改进等,均包含在本发明的保护范围之内。

Claims (15)

1.一种视图处理方法,其特征在于,包括:
在应用程序界面中加载嵌套于滚动视图的第一按钮栏视图;
在与所述第一按钮栏视图相邻的区域加载对应所述按钮栏中按钮的视图;
响应于在所述第一按钮栏视图中形成第一聚焦按钮的触摸事件,
使用所述第一聚焦按钮对应的视图控制器对象控制所述第一聚焦按钮对应的视图,通过控制在相应视图中加载所述第一聚焦按钮对应的业务内容;
响应于针对第一聚焦按钮对应的视图中滑动的触摸事件,
控制所述按钮所对应的视图、以及控制所述滚动视图在所述应用程序界面中根据所述滑动同步显示。
2.如权利要求1所述的方法,其特征在于,所述控制所述按钮所对应的视图、以及控制所述滚动视图在所述应用程序界面中根据所述滑动同步显示,包括:
当响应于在所述第一聚焦按钮对应的视图中的触摸事件,且所响应的触摸事件向所述应用程序界面的底部滑动时,
控制所述第一聚焦按钮对应视图和所述滚动视图顺序响应所述触摸事件。
3.如权利要求1所述的方法,其特征在于,所述控制所述按钮所对应的视图、以及控制所述滚动视图在所述应用程序界面中根据所述滑动同步显示,包括:
当响应于在所述第一聚焦按钮对应的视图中的触摸事件,且所响应的触摸事件向所述应用程序界面的顶部滑动时,
控制所述滚动视图和所述第一聚焦按钮对应视图顺序响应所述触摸事件。
4.如权利要求2所述的方法,其特征在于,所述控制所述第一聚焦按钮对应视图和所述滚动视图顺序响应所述触摸事件,包括:
保持所述滚动视图在所述应用程序界面中的显示位置;
控制所述第一聚焦按钮对应的视图向顶部滚动显示所述第一聚焦按钮对应的业务内容;
当所述第一聚焦按钮对应的业务内容的头部置顶显示时,控制所述滚动视图根据所述滑动更新在所述应用程序界面中的显示位置。
5.如权利要求4所述的方法,其特征在于,还包括:
使用所述滚动视图与所述第一聚焦按钮对应视图之间的接口,获得所述第一聚焦按钮对应视图的内容偏移量;
当所述第一聚焦按钮对应视图的内容偏移量为零时,判定所述第一聚焦按钮对应的视图中置顶显示相应业务内容的头部。
6.如权利要求4或5所述的方法,其特征在于,所述控制所述滚动视图根据所述滑动更新在所述应用程序界面中的显示位置,包括:
根据向底部滑动的幅度,控制所述滚动视图向底部移动在所述应用程序界面中的显示位置,直至,
不再接收到向底部滑动的触摸事件,或者,所述第一按钮栏视图向底部移动至所述应用程序界面的设定位置。
7.如权利要求3所述的方法,其特征在于,所述控制所述滚动视图和所述第一聚焦按钮对应视图顺序响应所述触摸事件,包括:
保持所述第一聚焦按钮对应的视图中所显示的业务内容;
控制所述滚动视图向顶部移动在所述应用程序界面中的显示位置;
当所述第一按钮栏视图移动至所述应用程序界面的顶部时,控制所述第一聚焦按钮对应的视图根据所述滑动更新显示业务内容。
8.如权利要求7所述的方法,其特征在于,还包括:
使用所述第一聚焦按钮对应视图与所述滚动视图之间的接口,获得所述滚动视图的内容偏移量;
当所述滚动视图的内容偏移量达到所述滚动视图的设定高度时,判定所述第一按钮栏视图滚动至所述应用程序界面的顶部。
9.如权利要求7或8所述的方法,其特征在于,所述控制所述第一聚焦按钮对应的视图根据所述滑动更新显示业务内容,包括:
根据向顶部滑动的幅度,控制所述第一聚焦按钮对应的视图向底部滚动显示第一聚焦按钮对应的业务内容,直至,
不再接收到向顶部滑动的触摸事件,或者,所述第一聚焦按钮对应的业务内容的尾部置底显示。
10.如权利要求1所述的方法,其特征在于,
所述滚动视图的设定高度为以下参数的加和:所述第一聚焦按钮对应的业务内容的高度;所述滚动视图中所加载的特定视图的高度,所述特定视图为所述滚动视图中所述第一聚焦按钮对应视图之外的视图;
所述第一聚焦按钮对应视图的设定高度为:屏幕的一帧画面的高度与所述特定视图的高度的差值。
11.如权利要求1所述的方法,其特征在于,还包括:
当通过控制在相应视图中加载所述第一聚焦按钮对应的业务内容时,
控制释放聚焦按钮对应的视图加载的业务内容处于释放状态,或者,
控制所述释放聚焦按钮对应的视图加载的业务内容处于隐藏状态;
其中,所述释放聚焦按钮为所述按钮栏视图中的按钮,且先于所述第一聚焦按钮取得聚焦状态。
12.如权利要求1所述的方法,其特征在于,所述在所述应用程序界面中加载嵌套于所述滚动视图的第一按钮栏视图,包括:
当在所述应用程序界面加载所述滚动视图时,在所述应用程序界面中加载未嵌套于所述滚动视图的第二按钮栏视图,
响应于在所述第二按钮栏视图中形成第二聚焦按钮的触摸事件,
在所述第一按钮栏视图中加载多个按钮,所加载的多个按钮对应的业务为所述第二聚焦按钮对应业务的子类。
13.一种电子设备,其特征在于,包括:
加载单元,用于在应用程序界面中加载嵌套于滚动视图的第一按钮栏视图;
所述加载单元,在与所述第一按钮栏视图相邻的区域加载对应所述按钮栏中按钮的视图;
第一响应单元,用于响应于在所述第一按钮栏视图中形成第一聚焦按钮的触摸事件,
使用所述第一聚焦按钮对应的视图控制器对象控制所述第一聚焦按钮对应的视图,通过控制在相应视图中加载所述第一聚焦按钮对应的业务内容;
第二响应单元,用于响应于针对第一聚焦按钮对应的视图中滑动的触摸事件,
控制所述按钮所对应的视图、以及控制所述滚动视图在所述应用程序界面中根据所述滑动同步显示。
14.一种电子设备,其特征在于,包括:
存储器,用于存储可执行指令;
处理器,用于执行所述存储器存储的可执行指令时,实现权利要求1至12任一项所述的视图处理方法。
15.一种存储介质,其特征在于,存储有可执行指令,所述可执行指令被执行时,用于引起处理器执行权利要求1至12任一项所述的视图处理方法。
CN201711116940.7A 2017-11-13 2017-11-13 视图处理方法、电子设备及存储介质 Active CN109782977B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201711116940.7A CN109782977B (zh) 2017-11-13 2017-11-13 视图处理方法、电子设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201711116940.7A CN109782977B (zh) 2017-11-13 2017-11-13 视图处理方法、电子设备及存储介质

Publications (2)

Publication Number Publication Date
CN109782977A true CN109782977A (zh) 2019-05-21
CN109782977B CN109782977B (zh) 2022-11-29

Family

ID=66493406

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201711116940.7A Active CN109782977B (zh) 2017-11-13 2017-11-13 视图处理方法、电子设备及存储介质

Country Status (1)

Country Link
CN (1) CN109782977B (zh)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110568974A (zh) * 2019-09-11 2019-12-13 北京齐尔布莱特科技有限公司 一种滑动视图显示方法、装置和移动终端
CN111176780A (zh) * 2019-12-31 2020-05-19 湖南中车时代通信信号有限公司 一种轨道交通站场图通用按钮显示及控制的装置和方法
CN113391847A (zh) * 2020-03-10 2021-09-14 北京沃东天骏信息技术有限公司 应用程序的启动优化方法和装置
CN113760163A (zh) * 2020-07-13 2021-12-07 北京沃东天骏信息技术有限公司 一种滚动视图控制方法、装置、设备及存储介质
WO2022042357A1 (zh) * 2020-08-25 2022-03-03 北京字节跳动网络技术有限公司 好友活跃信息的显示方法、装置、电子设备和存储介质
CN114428657A (zh) * 2022-01-11 2022-05-03 上海万物新生环保科技集团有限公司 一种在H5端基于Taro框架的滑动方法与设备

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120159402A1 (en) * 2010-12-17 2012-06-21 Nokia Corporation Method and apparatus for providing different user interface effects for different implementation characteristics of a touch event
CN103294399A (zh) * 2006-09-06 2013-09-11 苹果公司 用于即时消息传送的便携式电子设备
CN104965693A (zh) * 2014-08-29 2015-10-07 腾讯科技(深圳)有限公司 一种视频处理的方法和系统
CN105278795A (zh) * 2014-06-06 2016-01-27 腾讯科技(北京)有限公司 一种显示功能栏的方法和装置
US20160156957A1 (en) * 2014-12-02 2016-06-02 Lg Electronics Inc. Multimedia device and method for controlling the same
CN106502674A (zh) * 2016-10-21 2017-03-15 武汉斗鱼网络科技有限公司 一种列表视图中的网格显示方法和装置
US20170091244A1 (en) * 2015-09-24 2017-03-30 Microsoft Technology Licensing, Llc Searching a Data Structure
CN107168621A (zh) * 2017-04-28 2017-09-15 努比亚技术有限公司 一种视图滑动控制方法及移动终端
CN107291506A (zh) * 2017-06-28 2017-10-24 北京五八信息技术有限公司 一种更新app界面的方法和装置

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103294399A (zh) * 2006-09-06 2013-09-11 苹果公司 用于即时消息传送的便携式电子设备
US20120159402A1 (en) * 2010-12-17 2012-06-21 Nokia Corporation Method and apparatus for providing different user interface effects for different implementation characteristics of a touch event
CN105278795A (zh) * 2014-06-06 2016-01-27 腾讯科技(北京)有限公司 一种显示功能栏的方法和装置
CN104965693A (zh) * 2014-08-29 2015-10-07 腾讯科技(深圳)有限公司 一种视频处理的方法和系统
US20160156957A1 (en) * 2014-12-02 2016-06-02 Lg Electronics Inc. Multimedia device and method for controlling the same
US20170091244A1 (en) * 2015-09-24 2017-03-30 Microsoft Technology Licensing, Llc Searching a Data Structure
CN106502674A (zh) * 2016-10-21 2017-03-15 武汉斗鱼网络科技有限公司 一种列表视图中的网格显示方法和装置
CN107168621A (zh) * 2017-04-28 2017-09-15 努比亚技术有限公司 一种视图滑动控制方法及移动终端
CN107291506A (zh) * 2017-06-28 2017-10-24 北京五八信息技术有限公司 一种更新app界面的方法和装置

Cited By (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110568974A (zh) * 2019-09-11 2019-12-13 北京齐尔布莱特科技有限公司 一种滑动视图显示方法、装置和移动终端
CN110568974B (zh) * 2019-09-11 2021-04-23 北京齐尔布莱特科技有限公司 一种滑动视图显示方法、装置和移动终端
CN111176780A (zh) * 2019-12-31 2020-05-19 湖南中车时代通信信号有限公司 一种轨道交通站场图通用按钮显示及控制的装置和方法
CN113391847A (zh) * 2020-03-10 2021-09-14 北京沃东天骏信息技术有限公司 应用程序的启动优化方法和装置
CN113760163A (zh) * 2020-07-13 2021-12-07 北京沃东天骏信息技术有限公司 一种滚动视图控制方法、装置、设备及存储介质
KR102558111B1 (ko) 2020-08-25 2023-07-21 베이징 바이트댄스 네트워크 테크놀로지 컴퍼니, 리미티드 액티브 프렌드 정보의 표시방법, 장치, 전자설비 및 저장매체
KR20220127331A (ko) * 2020-08-25 2022-09-19 베이징 바이트댄스 네트워크 테크놀로지 컴퍼니, 리미티드 액티브 프렌드 정보의 표시방법, 장치, 전자설비 및 저장매체
JP2023515835A (ja) * 2020-08-25 2023-04-14 北京字節跳動網絡技術有限公司 アクティブフレンド情報の表示方法、装置、電子機器および記憶媒体
WO2022042357A1 (zh) * 2020-08-25 2022-03-03 北京字节跳动网络技术有限公司 好友活跃信息的显示方法、装置、电子设备和存储介质
JP7316464B2 (ja) 2020-08-25 2023-07-27 北京字節跳動網絡技術有限公司 アクティブフレンド情報の表示方法、装置、電子機器および記憶媒体
US11960709B2 (en) 2020-08-25 2024-04-16 Beijing Bytedance Network Technology Co., Ltd. Method and apparatus for displaying active friend information, electronic device, and storage medium
CN114428657A (zh) * 2022-01-11 2022-05-03 上海万物新生环保科技集团有限公司 一种在H5端基于Taro框架的滑动方法与设备
CN114428657B (zh) * 2022-01-11 2024-04-05 上海万物新生环保科技集团有限公司 一种在H5端基于Taro框架的滑动方法与设备

Also Published As

Publication number Publication date
CN109782977B (zh) 2022-11-29

Similar Documents

Publication Publication Date Title
CN109782977A (zh) 视图处理方法、电子设备及存储介质
JP5289634B2 (ja) オンスクリーン・メニューを発生する方法

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