CN109299424A - 一种基于富文本提供响应事件的方法、装置和计算机记录介质 - Google Patents
一种基于富文本提供响应事件的方法、装置和计算机记录介质 Download PDFInfo
- Publication number
- CN109299424A CN109299424A CN201811445687.4A CN201811445687A CN109299424A CN 109299424 A CN109299424 A CN 109299424A CN 201811445687 A CN201811445687 A CN 201811445687A CN 109299424 A CN109299424 A CN 109299424A
- Authority
- CN
- China
- Prior art keywords
- user
- text
- texts
- several sections
- hit
- 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.)
- Pending
Links
Landscapes
- User Interface Of Digital Computer (AREA)
Abstract
本公开涉及一种基于富文本提供响应事件的方法、装置和计算机记录介质。所述方法包括:向用户呈现单个控件连同为其创建的数段文本;接收用户对所呈现的内容的操作,并确定该操作在所述数段文本中命中的文本段;回调与所述命中的文本段对应的事件作为响应。利用上述的方法、装置和存储有实现上述方法的程序的非暂时性的计算机记录介质,能够降低实现成本和性能成本,能够灵活定制文本的样式,满足界面的不同风格和布局等的要求,且相较多控件拼接方式能够显著减少bug的出现概率。
Description
技术领域
本公开涉及一种基于富文本提供响应事件的方法、装置和计算机记录介质。
背景技术
现有的用户界面上涉及到让用户点击文本跳转到响应内容的控件,例如用户协议与隐私政策控件,通常利用具有属性的字符串例如NSAttributeString配合统一资源定位符(URL)跳转协议(超链接协议)来实现。但是带超链接的文本变成蓝色且无法定制或修改样式,且不容易点击命中。虽然也引入了控件来实现文本点击跳转,但通常通过为每段文本配备相应的控件、对每个控件分别绑定相应的事件、并将多个控件拼接起来来实现,但该实现方案实现成本高、影响了界面的呈现效果例如布局和渲染性等,此外,多个控件的设置增加了代码的复杂度,增加了bug的出现概率。
发明内容
因此,需要一种基于富文本提供响应事件的方法和装置来解决上述问题。
根据本公开的第一方案,提供了一种基于富文本提供响应事件的方法,其特征在于,所述方法包括:向用户呈现单个控件连同为其创建的数段文本;接收用户对所呈现的内容的操作,并确定该操作在所述数段文本中命中的文本段;回调与所述命中的文本段对应的事件作为响应。
在一些实施例中,所述方法包括为所述单个控件添加手势,所述操作为手势操作,且确定该操作在所述数段文本中命中的文本段包括:获取用户的手势操作的位置,并据此确定用户的操作在所述数段文本中命中的文本段。
在一些实施例中,确定该操作在所述数段文本中命中的文本段包括:重写所述单个控件的点击测试方法来确定用户的操作的位置,并据此确定用户的操作在所述数段文本中命中的文本段。
在一些实施例中,所述单个控件为UILabel控件、UITextView控件或者自定义的继承UIView父控件的子控件。
在一些实施例中,据此确定用户的操作在所述数段文本中命中的文本段包括:确定各段文本的位置范围;将用户的操作的位置与各段文本的位置范围进行比较;确定用户的操作的位置落入其中的位置范围所对应的文本段,作为所述用户的操作命中的文本段。
在一些实施例中,所述数段文本与用户协议和隐私政策、在线阅读中的翻页提示、社交工具转链接提示中的任何一种相关。
在一些实施例中,所述数段文本为富文本,且其样式根据用户界面的布局、风格和渲染性能来定制,所述样式包括字体大小、段落风格、字体颜色、背景色、字符间距、下划线颜色、描边颜色、描边宽度、文本阴影、文字效果、字体倾斜、横向拉伸中的至少一种。
根据本公开的第二方案,提供了一种基于富文本提供响应事件的装置,所述装置包括存储有计算机可执行指令的存储器和处理器,所述处理器执行所述计算机可执行指令时,实现如下步骤:向用户呈现单个控件连同为其创建的数段文本;接收用户对所呈现的内容的操作,并确定该操作在所述数段文本中命中的文本段;回调与所述命中的文本段对应的事件作为响应。
在一些实施例中,所述处理器执行所述计算机可执行指令时,还为所述单个控件添加手势,所述操作为手势操作,且确定该操作在所述数段文本中命中的文本段包括:获取用户的手势操作的位置,并据此确定用户的操作在所述数段文本中命中的文本段。或者,确定该操作在所述数段文本中命中的文本段包括:重写所述单个控件的点击测试方法来确定用户的操作的位置,并据此确定用户的操作在所述数段文本中命中的文本段。
根据本公开的第三方案,提供了一种非暂时性的计算机记录介质,其上存储有计算机可执行指令,所述计算机可执行指令被处理器执行时实现如下步骤:向用户呈现单个控件连同为其创建的数段文本;接收用户对所呈现内容的操作,并确定该操作在所述数段文本中命中的文本段;回调与所述命中的文本段对应的事件作为响应。
利用上述的基于富文本提供响应事件的方法、装置和存储有实现上述方法的程序的非暂时性的计算机记录介质,能够降低实现成本和性能成本,能够灵活定制文本的样式,满足界面的不同风格和布局等的要求,且相较多控件拼接方式能够显著减少bug的出现概率。
附图说明
在不一定按比例绘制的附图中,相同的附图标记可以描述不同视图中的类似部件。具有字母后缀或不同字母后缀的相同数字可表示类似部件的不同实例。附图通常通过示例而非通过限制的方式示出了各种实施例,并且与说明书以及权利要求书一起用于对所公开的实施例进行说明。在适当的时候,在所有附图中使用相同的附图标记指代同一或相似的部分。这样的实施例是例证性的,而并非旨在作为本方法、装置、或其上存储有用于实现该方法的指令的非暂时性计算机可读介质的穷尽或排他实施例。下面将参照附图描述本发明的示例性实施例的特征、优点以及技术和工业重要性,附图中相同的数字表示相同的元件,并且其中:
图1示出根据本公开实施例的基于富文本提供响应事件的方法的流程图;
图2示出根据本公开实施例的在用户协议和隐私政策的应用场景下在客户端上呈现的单个控件连同为其创建的数段富文本的图示;
图3A示出根据本公开实施例的基于富文本提供响应事件的装置中的模块的图示;
图3B示出根据本公开实施例的基于富文本提供响应事件的装置中的操作-文本段匹配模块的框图;
图4示出根据本公开实施例的在在线阅读中的翻页的应用场景下在客户端上呈现的单个控件连同为其创建的数段富文本的图示;
图5示出根据本公开实施例的在社交工具的转链接的应用场景下在客户端上呈现的单个控件连同为其创建的数段富文本的图示;
图6示出根据本公开实施例的基于富文本提供响应事件的装置的框图。
具体实施方式
在下文中,技术表述单个控件的“呈现内容”表示在用户终端上为该单个控件所提供的呈现内容,例如,该呈现可以是网页、APP图形用户界面等上所显示的框图连同各种样式的文本,也可以附加地包括图片。技术表述“用户对所呈现的内容的操作”表示用户经由用户终端的输入装置例如触控屏幕或鼠标等所提供的前端操作,其与代码层面的后端操作区别开。
在下文中,将参考附图描述本公开的实施例。图1示出根据本公开实施例的基于富文本提供响应事件的方法的流程图。如图1所示,所述方法的流程始于步骤101,在步骤101,向用户呈现单个控件连同为其创建的数段文本。具体说来,该单个控件可以在用户界面上呈现为具有各种样式的数段文本(也包括没有样式的纯文本)的图形(例如矩形框)。
接着,在步骤102,接收用户对所呈现的内容(例如上文中具有数段文本的图形)的操作,并确定该操作在所述数段文本中命中的文本段。在一些实施例中,用户对所呈现的内容的操作可以是简单的点击或者各种手势操作,该操作例如可以通过触控屏幕来实现,也可以通过其他的输入/输出装置例如鼠标、指示笔等来实现。
然后,流程进行到步骤103,回调与所述命中的文本段对应(例如绑定)的事件作为响应。
如此,可以通过单个控件,让用户以各种方式针对性地操作与其一同呈现的数段文本中的一段,从而引发与该段文本段绑定的事件。可以根据具体应用需求,为各个文本段绑定不同的事件,包括但不限于跳转到另一链接地址(例如另一URL)、呈现浮窗、弹出窗口、无事件等等。
在一些实施例中,所述数段文本可以是富文本,所述数段富文本的样式可以根据用户界面的布局、风格和渲染性能来定制,所述样式包括字体大小、段落风格、字体颜色、背景色、字符间距、下划线颜色、描边颜色、描边宽度、文本阴影、文字效果、字体倾斜、横向拉伸中的至少一种。用户能够经由该单个控件灵活定制文本的样式,以满足用户界面的不同风格、不同布局和不同渲染性能的需求,且在确保呈现和响应的表现的同时降低了实现成本,还降低了bug的发生概率。
在一些实施例中,该单个控件可以是UILabel控件、UITextView控件或者自定义的继承UIView父控件的子控件。UILabel控件和UITextView控件是继承UIView父控件的常用的能够创建富文本内容的子控件。下面以UILabel控件为例来说明上述方法的变形例,但须知下文中的说明经过适应性调整也可以适用于其他控件。
首先可以利用自定义的NSMutableAttributedString分类方法来创建多段富文本内容,例如文本段分别是“我已阅读并同意”、“用户协议”、“和”、以及“隐私政策”,如图2所示。可以采用多种技术手段来获取用户操作该单个控件中的具体位置。
在一些实施例中,可以利用(例如重写)UILabel控件的点击测试(hitTest方法)来获取用户操作的具体位置,并据此确定用户的操作在所述数段富文本中命中的文本段。点击测试方法是UIView父控件所固有的,继承其的子控件自然也就继承了该点击测试方法,可以针对子控件例如UILabel控件对UIView父控件所固有的点击测试方法的原始逻辑进行调整。调整方式可以例如,判断触摸点在不在所述UILabel控件的触碰范围内,如果是,则由UILabel控件来响应该触碰,否则的话,则由UIView父控件来响应该触碰。
可以利用调整后的点击测试方法来获得用户对UILabel控件的点击操作的位置,例如可以利用hitTest方法的程序中的point参数来直接得到用户对UILabel控件的点击操作的位置。利用hitTest方法能够实时敏感地得到用户点下时刻的点击位置。
在一些实施例中,可以为所述单个UILabel控件添加手势,用户操作可以是手势操作,手势操作相较hitTest方法的点击操作更丰富,例如可以视用户偏好为UILabel控件添加单击、双击、长按、滑动等中的任何一种或多种。不同于hitTest方法,获取用户的手势操作的位置所得到的是手势松开(脱离触控屏)时刻的操作位置,从而能够获得更鲁棒性且更准确体现用户的操作位置。例如,一旦用户发生了单击的误操作,则利用hitTest方法立即获得该误操作的位置、据此确定该误操作所命中的文本段并回调与之绑定的事件;为了纠正误操作,用户需要取消操作退回到之前的用户界面,从而降低了用户的友好度。与之对比,在利用手势操作的情况下,一旦用户意识到发生误操作,只要保持手指不离开触控屏,改为正确操作再松开就可以方便地纠正误操作。
在获取用户的点击或手势操作的具体位置之后,可以判定该操作在所述数段富文本中命中的文本段。例如,如果命中了“用户协议”或者“隐私政策”文本段,就引发并回调与该文本段对应的事件,例如跳转到用户协议或者隐私政策文档所在的网址、从其下载用户协议或者隐私政策文档并在用户界面上呈现给用户。例如,如果命中了“我已阅读并同意”以及“和”的文本段,则不会引发任何事件。
在一些实施例中,可以采用各种方式来基于所获取的用户的操作(例如点击或者手势操作)的位置确定其在所述数段文本中命中的文本段。例如,可以先确定各段文本的位置范围,将所获取的用户的操作的位置与各段文本的位置范围进行比较,然后确定用户的操作的位置落入其中的位置范围所对应的文本段,作为所述用户的操作命中的文本段。在一些实施例中,各段文本的位置范围,例如范围的极限坐标可以存储在UILabel文件的变量参数中,例如,可以将文本段“用户协议”的位置范围的下限坐标存储在变量self.contextTextLeftSums[1].floatvalue中,将其的上限坐标存储在变量self.contextTextLeftSums[2].floatvalue中,当获得的用户的手势操作的位置坐标大于上述下限坐标且小于上述上限坐标时,则判断用户的手势操作命中了文本段“用户协议”。
图3A示出根据本公开实施例的基于富文本提供响应事件的装置300中的模块构成的图示。该装置300可以实现为智能手机、平板电脑、笔记本电脑、台式计算机、智能手表或者其它可穿戴设备等终端设备的任何一种,也可以实现为安装在上述硬件设备内的应用程序或者整合在该应用程序中,例如通讯服务应用程序(例如微信应用程序等)、各种电子阅读应用程序、地图应用程序等。
如图3A所示,该装置300可以包括:呈现模块301,其被配置为向用户呈现单个控件连同为其创建的数段文本;操作-文本段匹配模块302,其被配置为接收用户对所述呈现模块301所呈现的内容的操作,并确定该操作在所述数段文本中命中的文本段;以及回调模块305,其配置为回调与所述命中的文本段对应的事件作为响应。
在一些实施例中,所述数段文本可以是富文本,呈现模块301被配置为为所述单个控件创建所述数段富文本,包括定义数段富文本的内容、各段富文本的格式、各段富文本的位置等等。在一些实施例中,呈现模块301被进一步配置为为所述单个控件的除了富文本之外的图形定义参数,例如但不限于颜色、高度、宽度等。
如图3B所示,在一些实施例中,所述操作-文本段匹配模块302可以包括:接收模块3022,其被配置为接收用户对所述呈现模块301所呈现的内容的操作并确定操作发生的位置;文本段定位模块3023,其被配置为确定各个文本段的位置范围;以及命中文本段确定模块3024,其通信连接到所述接收模块3022和文本段定位模块3023。所述接收模块3022将所确定的操作发生的位置传输给命中文本段确定模块3023,而所述文本段定位模块3023将所确定的各个文本段的位置范围传输给命中文本段确定模块3024。所述命中文本段确定模块3024进一步配置为对所确定的操作发生的位置与所确定的各个文本段的位置范围进行比较,以确定操作所命中的具体文本段,并将所确定的命中的具体文本段传输给如图3A中所示的回调模块305。
上述的各种方法可适用于各种应用场景,例如,除了上文中例示的“用户协议和隐私政策”应用场景,也可适用于在线阅读中翻页的应用场景、社交工具转链接的应用场景等。
网文阅读已经是现今人们的一大娱乐消闲项目,而且通常是分章节显示,每个章节下方都会呈现如图4所示的翻页条,包括“上一页”、“返回目录”和“下一页”等富文本段。当用户对该翻页条进行点击或手势操作时,上述方法或装置可以确定用户操作有没有命中有效的富文本段,如有,则确定命中哪个文本段。例如,如果确定命中了“上一页”,则转到上一页所对应的链接地址、下载其对应的网页内容并呈现给用户;如果确定命中了“返回目录”,则转到总目录所对应的链接地址、下载其对应的网页内容并呈现给用户。翻页条可以通过单个控件例如UILabel控件来实现,可以为该UILabel控件利用NSMutableAttributedString分类方法来一起创建“上一页”、“返回目录”和“下一页”等富文本段并定义其呈现的样式。对于动辄几百章的分页显示而言,每一页的翻页条通过单个UILabel控件来实现,能够保证用户界面统一的布局和丰富的渲染效果,并且能够大大降低实现成本,提高反应速度,改善用户的阅读体验。
图5示出了在社交工具中常见的转链接条的图示,例如,在微信的公众号主页面下方通常具有包括“历史文章”、“好物推荐”和“商务合作”等富文本段的转链接条。该转链接条能够利用单个图文控件例如单个UILabel控件来实现,可以为该单个UILabel控件利用NSMutableAttributedString分类方法来一起创建“历史文章”、“好物推荐”和“商务合作”等富文本段,并将跳转并呈现历史文章页面的第一事件绑定到“历史文章”富文本,将跳转并呈现推荐商品的购买链接(包括淘宝口令等)的第二事件绑定到“好物推荐”,将跳转并呈现该公众号的联系方式的第三事件绑定到“商务合作”。如此,当用户以手势单击并命中“历史文章”文本时,则回调并激发所述第一事件;当用户以手势单击并命中“好物推荐”文本时,则回调并激发所述第二事件;当用户以手势单击并命中“商务合作”文本时,则回调并激发所述第三事件。
上文中仅仅列举了本公开的方法和装置所使用的三种应用场景,一般说来,凡是需要为用户呈现图形连同其上的数段富文本、让用户通过操作不同富文本表达不同的意图并对该不同的意图响应以不同的事件的场景,都可以灵活地应用根据本公开的方法和装置。
如上所述,图3中所示的模块构成的基于富文本提供响应事件的装置300可以经由软件来实现,或者也可以经有软件和硬件的组合(固件)来实现,例如,可以经有智能手机、平板电脑、笔记本电脑、台式计算机、智能手表或者其它可穿戴设备等终端设备的任何一种固件来实现。图6示出根据本公开实施例的作为固件的基于富文本提供响应事件的装置600的框图。
如图6所示,所述装置600包括存储有计算机可执行指令的存储器604和处理器601,所述处理器601执行所述计算机可执行指令时,实现如下步骤:向用户呈现单个控件连同为其创建的数段文本;接收用户对所呈现内容的操作,并确定该操作在所述数段文本中命中的文本段;回调与所述命中的文本段对应的事件作为响应。在一些实施例中,存储器604中存储的计算机可执行指令可以包括富文本响应程序605,其被配置为使得处理器601执行上述步骤,也就是:向用户呈现单个控件连同为其创建的数段文本;接收用户对所呈现内容的操作,并确定该操作在所述数段文本中命中的文本段;回调与所述命中的文本段对应的事件作为响应。在一些实施例中,所述富文本响应程序605可以进一步配置为使得处理器601执行上文中所述的任何一种基于富文本提供响应事件的方法的示例或变形例。例如,所述富文本响应程序605可以包括如图3A中所示的呈现模块301、操作-文本段匹配模块302和回调模块305。作为示例而非限制,操作-文本段匹配模块302也可以包括如图3B中所示的接收模块3022、文本段定位模块3023和命中文本段确定模块3024。在一些实施例中,所述富文本响应程序605可以进一步配置为使得处理器601为所述单个控件添加手势,所述操作为手势操作,且获取用户的手势操作的位置,并据此确定用户的操作在所述数段文本中命中的文本段。作为替代实施例,所述富文本响应程序605可以进一步配置为使得处理器601重写所述单个控件的点击测试方法来确定用户的操作的位置,并据此确定用户的操作在所述数段文本中命中的文本段。
附加地,所述存储器604还可以包括常用的操作系统606,例如苹果公司的iOS操作系统或者Google公司开发的Android操作系统。
所述装置除了处理器601和存储器604之外,还需要包括输入/输出602和显示器603。所述输入/输出602被配置为让用户执行输入操作,例如上文中对所述呈现的点击或手势操作;所述显示器603被配置为向用户提供单个控件连同为其创建的数段文本的呈现(例如图形连同文本),并向用户呈现与回调的事件一致的显示内容,例如历史文章页面、用户协议或者隐私政策文档等。该显示器603可以是LCD、CRT或LED显示器。输入/输出602可以包括允许装置600与用户或其他机器和装置通信的一个或多个数字和/或模拟通信装置。例如,输入/输出602可以包括允许用户提供输入的键盘、鼠标和触控屏幕。当输入/输出602采用触控屏幕时,其可以与作为触控屏幕的显示器603整合。
处理器601可以是包括一个或多个通用处理装置的处理装置,诸如微处理器、中央处理单元(CPU)、图形处理单元(GPU)等。更具体地,处理器601可以是复杂指令集计算(CISC)微处理器、精简指令集计算(RISC)微处理器、超长指令字(VLIW)微处理器、运行其他指令集的处理器或者运行指令集的组合的处理器。处理器601还可以是一个或多个专用处理装置,诸如专用集成电路(ASIC)、现场可编程门阵列(FPGA)、数字信号处理器(DSP),片上系统(SoC)等。如本领域技术人员将理解的,在一些实施例中,处理器601可以是专用处理器,而不是通用处理器。处理器601可以包括一个或多个已知的处理装置,例如来自IntelTM制造的PentiumTM、CoreTM、XeonTM或Itanium系列的微处理器,由AMD TM制造的TurionTM、AthlonTM、SempronTM、OpteronTM、FXTM、PhenomTM系列,或由Sun Microsystems制造的各种处理器。处理器601还可以包括图形处理单元,诸如来自的GPU,由NvidiaTM制造的系列,由IntelTM制造的GMA,IrisTM系列,或由AMDTM制造的RadeonTM系列。处理器601还可以包括加速处理单元,例如由AMDTM制造的Desktop A-4(6,6)系列,由IntelTM制造的Xeon PhiTM系列。所公开的实施例不限于任何类型的处理器或处理器电路,其以其他方式被配置为满足识别、分析、维护、生成和/或提供数据或操纵这样的数据以基于富文本提供响应事件,或与所公开的实施例一致地操纵任何其他类型的数据以基于富文本提供响应事件。另外,术语“处理器”或“图像处理器”可以包括一个以上的处理器,例如,多核设计或多个处理器,每个处理器具有多核设计。处理器601可以执行存储在存储器604中的计算机程序指令序列,以执行本文公开的各种操作、过程和方法。
处理器601可以通信地耦合到存储器604并且被配置为执行存储在其中的计算机可执行指令。存储器604可以包括只读存储器(ROM)、闪存、随机存取存储器(RAM)、诸如同步DRAM(SDRAM)或Rambus DRAM的动态随机存取存储器(DRAM)、静态存储器(例如,闪存、静态随机存取存储器)等,计算机可执行指令以任何格式存储在其上。计算机程序指令可以由处理器601访问,从ROM或者任何其他合适的存储器位置读取,并且加载在RAM中以供处理器601执行。例如,存储器604可以存储一个或多个软件应用程序。存储在存储器604中的软件应用程序可以包括,例如,用于普通计算机系统的操作系统(未示出)以及用于软控制装置的操作系统。
在一些实施例中,网络接口607可以包括网络适配器、电缆连接器、串行连接器、USB连接器、并行连接器、诸如光纤的高速数据传输适配器、USB6.0、闪电、例如Wi-Fi适配器的无线网络适配器、电信(6G、4G/LTE等)适配器。装置600可以通过网络接口607连接到网络。网络可以提供局域网(LAN)、无线网络、云计算环境(例如,作为服务的软件、作为服务的平台、作为服务的基础设施等)、客户端-服务器、广域网(WAN)等。
在一些实施例中,装置600可以经由网络接口607连接到服务器608,以与其交换(传输/接收)所需的数据信息。例如,在用户协议和隐私政策的应用场景下,用户协议和隐私政策的文档可以存储在服务器608上,当回调呈现用户协议和隐私政策的文档的事件时,可以从服务器608取得所述文档并传输给装置600,并经由其显示器603显示给用户。
本文描述了各种操作或功能,其可以实现为软件代码或指令或者定义为软件代码或指令。这样的内容可以是可以直接执行(“对象”或“可执行”形式)的源代码或差分代码(“delta”或“patch”代码)。软件代码或指令可以存储在计算机可读存储介质中,并且当被执行时,可以使机器执行所描述的功能或操作,并且包括用于以机器(例如,计算装置,电子系统等)可访问的形式存储信息的任何机构,例如可记录或不可记录介质(例如,只读存储器(ROM)、随机存取存储器(RAM)、磁盘存储介质、光存储介质、闪存装置等)。
已经出于说明的目的呈现了前面的描述。它并非穷尽的,并且不限于所公开的精确形式或实施例。考虑到所公开实施例的说明书和实践,实施例的修改和改编将是显而易见的。
在本文件中,术语“一”或“个”,如专利文献中常见的那样,包括一个或多个,独立于“至少一个”或“一个以上”的任何其他实例或用法。因此,例如,提到“级别”包括多个这样的级别等。
在本文件中,除非另有说明,否则术语“或”用于表示非排他性的或,即“A或B”包括“A但不是B”,“B但不是A”和“A和B”。在本文中,此外,在随附权利要求中,术语“包括”是开放式的。也就是说,术语“包括”,与“包括”、“包含”或“其特征在于”同义,是包容性或开放式的,并不排除另外、未陈述的要素或方法步骤。“包括”是权利要求语言中使用的专用术语,其意味着所称的要素是必要的,但其他要素可以被添加而依然形成权利要求的范围内的构想。包括除了那些在权利要求中在该术语后列出的要素以外的要素的设备、系统、装置、制品、组成、配方或过程,也被视为落入该权利要求的保护范围内。此外,在下面的权利要求中,术语“第一”、“第二”和“第三”等仅被用作标签,并不旨在对其对象施加数值上的要求。
这里描述的示例性方法可以至少部分地是机器或计算机实现的。一些示例可以包括用指令编码的计算机可读介质或机器可读介质,所述指令可操作以配置电子装置执行如以上示例中所述的方法。这种方法的实现可以包括软件代码,诸如微代码、汇编语言代码、更高级的语言代码等。各种程序或程序模块可以使用各种软件编程技术来创建。例如,可以使用Java、Python、C、C++、汇编语言或任何已知的编程语言来设计程序段或程序模块。一个或多个这样的软件部分或模块可以被集成到计算机系统和/或计算机可读介质中。这种软件代码可以包括用于执行各种方法的计算机可读指令。软件代码可以形成计算机程序产品或计算机程序模块的一部分。此外,在一个示例中,软件代码可以诸如在执行期间或其他时间有形地存储在一个或多个易失性、非暂时性或非易失性有形计算机可读介质上。这些有形的计算机可读介质的示例可以包括但不限于硬盘、可移动磁盘、可移动光盘(例如,光盘和数字视频盘)、磁带盒、存储卡或棒、随机存取存储器(RAM),只读存储器(ROM)等。
此外,尽管在此描述了说明性实施例,但是范围包括具有基于本公开的等效要素、修改、省略、组合(例如,跨各种实施例的方案的组合)、调整或变更的任何和所有实施例。权利要求中的要素将基于权利要求中使用的语言进行宽泛地解释,而不限于本说明书中或在本申请的存续期间描述的示例,这些示例将被解释为非排他性的。此外,所公开的方法的步骤可以以任何方式进行修改,包括通过重新排序步骤或插入或删除步骤。因此,意图仅仅将描述视为例子,真正的范围由以下权利要求及其全部等同范围表示。
以上描述旨在是说明性的而不是限制性的。例如,上述示例(或其一个或多个方案)可以彼此组合使用。本领域普通技术人员在查看以上描述时可以使用其他实施例。而且,在上面的详细描述中,各种特征可以被组合在一起以简化本公开。这不应被解释成意图让不要求保护的公开特征对于任何权利要求而言都是必不可少的。而是,发明主题可以在于比一个公开的实施例的所有特征少的特征组合。因此,以下权利要求由此作为示例或实施例并入到具体实施方式中,其中每个权利要求独立作为单独的实施例,并且可以构想的是,这些实施例可以以各种组合或置换来相互组合。本发明的范围应该参考所附权利要求以及赋予这些权利要求的等同物的全部范围来确定。
Claims (10)
1.一种基于富文本提供响应事件的方法,其特征在于,所述方法包括:
向用户呈现单个控件连同为其创建的数段文本;
接收用户对所呈现的内容的操作,并确定该操作在所述数段文本中命中的文本段;
回调与所述命中的文本段对应的事件作为响应。
2.根据权利要求1所述的方法,其特征在于,所述方法包括为所述单个控件添加手势,所述操作为手势操作,且确定该操作在所述数段文本中命中的文本段包括:获取用户的手势操作的位置,并据此确定用户的操作在所述数段文本中命中的文本段。
3.根据权利要求1所述的方法,其特征在于,确定该操作在所述数段文本中命中的文本段包括:利用单个控件的点击测试方法来确定用户的操作的位置,并据此确定用户的操作在所述数段文本中命中的文本段。
4.根据权利要求1-3中的任何一项所述的方法,其特征在于,所述单个控件为UILabel控件、UITextView控件或者自定义的继承UIView父控件的子控件。
5.根据权利要求2或3所述的方法,其特征在于,据此确定用户的操作在所述数段文本中命中的文本段包括:
确定各段文本的位置范围;
将用户的操作的位置与各段文本的位置范围进行比较;
确定用户的操作的位置落入其中的位置范围所对应的文本段,作为所述用户的操作命中的文本段。
6.根据权利要求1所述的方法,其特征在于,所述数段文本与用户协议和隐私政策、在线阅读中的翻页提示、社交工具转链接提示中的任何一种相关。
7.根据权利要求1所述的方法,其特征在于,所述数段文本为富文本,且所述数段文本的样式根据用户界面的布局、风格和渲染性能来定制,所述样式包括字体大小、段落风格、字体颜色、背景色、字符间距、下划线颜色、描边颜色、描边宽度、文本阴影、文字效果、字体倾斜、横向拉伸中的至少一种。
8.一种基于富文本提供响应事件的装置,所述装置包括存储有计算机可执行指令的存储器和处理器,所述处理器执行所述计算机可执行指令时,实现如下步骤:
向用户呈现单个控件连同为其创建的数段文本;
接收用户对所呈现的内容的操作,并确定该操作在所述数段文本中命中的文本段;
回调与所述命中的文本段对应的事件作为响应。
9.根据权利要求8所述的装置,其特征在于,所述处理器执行所述计算机可执行指令时,还为所述单个控件添加手势,所述操作为手势操作,且确定该操作在所述数段文本中命中的文本段包括:获取用户的手势操作的位置,并据此确定用户的操作在所述数段文本中命中的文本段;或者
确定该操作在所述数段文本中命中的文本段包括:重写所述单个控件的点击测试方法来确定用户的操作的位置,并据此确定用户的操作在所述数段文本中命中的文本段。
10.一种非暂时性的计算机记录介质,其上存储有计算机可执行指令,所述计算机可执行指令被处理器执行时实现如下步骤:
向用户呈现单个控件连同为其创建的数段文本;
接收用户对所呈现的内容的操作,并确定该操作在所述数段文本中命中的文本段;
回调与所述命中的文本段对应的事件作为响应。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811445687.4A CN109299424A (zh) | 2018-11-29 | 2018-11-29 | 一种基于富文本提供响应事件的方法、装置和计算机记录介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811445687.4A CN109299424A (zh) | 2018-11-29 | 2018-11-29 | 一种基于富文本提供响应事件的方法、装置和计算机记录介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN109299424A true CN109299424A (zh) | 2019-02-01 |
Family
ID=65141970
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811445687.4A Pending CN109299424A (zh) | 2018-11-29 | 2018-11-29 | 一种基于富文本提供响应事件的方法、装置和计算机记录介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109299424A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2020187117A1 (zh) * | 2019-03-18 | 2020-09-24 | 智慧芽信息科技(苏州)有限公司 | 附图页面的展示方法和装置、文本页面的展示方法和装置 |
CN111859850A (zh) * | 2020-07-29 | 2020-10-30 | 厦门亿联网络技术股份有限公司 | 富文本片段整体化的方法、装置、电子设备及存储介质 |
CN113031949A (zh) * | 2021-04-20 | 2021-06-25 | 深圳市活力天汇科技股份有限公司 | 基于iOS的文本渲染引擎、方法、装置、设备及介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105893022A (zh) * | 2015-12-28 | 2016-08-24 | 乐视致新电子科技(天津)有限公司 | 复合用户界面控件的生成和控制方法及系统 |
CN107092481A (zh) * | 2017-03-23 | 2017-08-25 | 武汉斗鱼网络科技有限公司 | 一种用于网络交互的会话提示框实现方法及系统 |
CN108052589A (zh) * | 2017-12-11 | 2018-05-18 | 福建中金在线信息科技有限公司 | 一种图文展示的方法、装置及存储介质 |
-
2018
- 2018-11-29 CN CN201811445687.4A patent/CN109299424A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105893022A (zh) * | 2015-12-28 | 2016-08-24 | 乐视致新电子科技(天津)有限公司 | 复合用户界面控件的生成和控制方法及系统 |
CN107092481A (zh) * | 2017-03-23 | 2017-08-25 | 武汉斗鱼网络科技有限公司 | 一种用于网络交互的会话提示框实现方法及系统 |
CN108052589A (zh) * | 2017-12-11 | 2018-05-18 | 福建中金在线信息科技有限公司 | 一种图文展示的方法、装置及存储介质 |
Non-Patent Citations (2)
Title |
---|
HTTPSWWW.CNBLOGS.COMHUALUOSHUIJIAP9928096.HTML: "UILabel部分文字可点击", 《HTTPSWWW.CNBLOGS.COMHUALUOSHUIJIAP9928096.HTML》 * |
新年新气象: "UILabel富文本 段落格式以及UILabel添加图片", 《HTTPSWWW.CNBLOGS.COMHUALUOSHUIJIAP5732619.HTML》 * |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2020187117A1 (zh) * | 2019-03-18 | 2020-09-24 | 智慧芽信息科技(苏州)有限公司 | 附图页面的展示方法和装置、文本页面的展示方法和装置 |
CN111859850A (zh) * | 2020-07-29 | 2020-10-30 | 厦门亿联网络技术股份有限公司 | 富文本片段整体化的方法、装置、电子设备及存储介质 |
CN111859850B (zh) * | 2020-07-29 | 2024-05-10 | 厦门亿联网络技术股份有限公司 | 富文本片段整体化的方法、装置、电子设备及存储介质 |
CN113031949A (zh) * | 2021-04-20 | 2021-06-25 | 深圳市活力天汇科技股份有限公司 | 基于iOS的文本渲染引擎、方法、装置、设备及介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
RU2645276C2 (ru) | Создание вариаций при преобразовании данных в потребляемый контент | |
US10402470B2 (en) | Effecting multi-step operations in an application in response to direct manipulation of a selected object | |
US20150378600A1 (en) | Context menu utilizing a context indicator and floating menu bar | |
Morris | Android user interface development | |
CN108446227A (zh) | 一种基于selenium的虚拟机浏览器兼容性测试方法 | |
CN104412261A (zh) | 用户界面内容个性化系统 | |
WO2015078566A1 (en) | System and method for testing data representation for different mobile devices | |
CN109299424A (zh) | 一种基于富文本提供响应事件的方法、装置和计算机记录介质 | |
CN112230909A (zh) | 小程序的数据绑定方法、装置、设备及存储介质 | |
US10410606B2 (en) | Rendering graphical assets on electronic devices | |
CN107766106B (zh) | 生成配置文件的方法和装置 | |
US20230281378A1 (en) | Markdown data content with action binding | |
CN110352421A (zh) | 使用视觉修改定制选项卡 | |
US11256603B2 (en) | Generating and attributing unique identifiers representing performance issues within a call stack | |
US11954421B2 (en) | Reducing data usage for rendering state changes | |
CN112306606A (zh) | 一种用于呈现控件样式的方法与设备 | |
EP3417365A1 (en) | Animated digital ink | |
CN109901859A (zh) | 动态配置文案方法、电子装置及存储介质 | |
CN110069300A (zh) | 视觉稿生成方法、装置、介质及电子设备 | |
CN108021366A (zh) | 界面动画实现方法、装置、电子设备、存储介质 | |
CN115390720A (zh) | 包括自动文档滚动的机器人过程自动化(rpa) | |
US20150378530A1 (en) | Command surface drill-in control | |
US11947442B2 (en) | Session replay for mobile applications | |
US11887213B2 (en) | Image cache for session replays of mobile applications | |
US20230350964A1 (en) | Platform independent session player |
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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20190201 |
|
RJ01 | Rejection of invention patent application after publication |