一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

基于iOS系统的按钮构建及响应方法、装置及终端与流程

2022-04-02 05:27:41 来源:中国专利 TAG:

基于ios系统的按钮构建及响应方法、装置及终端
技术领域
1.本技术涉及数据处理技术领域,具体而言,涉及一种基于ios系统的按钮构建及响应方法、装置及终端。


背景技术:

2.ios开发中会遇到一些业务场景,需要一个按钮的特定区域(可能是各种各样图形)响应用户的点击事件,而ios系统自带的控件默认的响应区域一般为矩形区域或者圆形区域,对于其他图形则不支持。如果要求特定图形区域内点击按钮响应用户事件,而对于其他区域则不响应用户事件,目前ios中没有很好的处理方式。
3.例如,假设要求按钮的响应区域为一个菱形区域,现有的方式是通过判断用户手指落点范围是否在菱形区域内,确定是否响应,以此来达到目的。但现有的方式通过计算用户手指是否在图形范围内,具有以下缺点:首先,对于复杂的图形,计算复杂,甚至需要贝塞尔曲线绘制来解决问题,开发难度高,上手困难,对开发人员很不友好;其次,灵活度不高,不同图形的范围计算和处理方式不同。


技术实现要素:

4.本技术实施例的目的在于提供一种基于ios系统的按钮构建及响应方法、装置及终端,以通过简单有效的方式巧妙地解决各种形状按钮的点击事件问题,降低开发人员的学习成本。
5.为了实现上述目的,本技术的实施例通过如下方式实现:
6.第一方面,本技术实施例提供一种基于ios系统的按钮构建方法,包括:获取继承自ios原生按钮的uibutton,其中,uibutton的响应区域为设定形状;获取上层图片,其中,所述上层图片包括互补为所述响应区域的按钮区域和辅助区域,所述按钮区域可为任意形状的图形,以及,所述按钮区域和所述辅助区域,一个区域的像素点不透明,另一个区域的像素点透明;将所述上层图片设置在所述uibutton上,并绑定用户点击事件,以在所述uibutton在屏幕上对应的按钮被点击时,根据用户的手指落点是否位于所述按钮区域来判断是否响应用户点击事件。
7.在本技术实施例中,利用继承自ios原生按钮的uibutton(响应区域为设定形状);将上层图片(包括互补为响应区域的按钮区域和辅助区域,按钮区域可为任意形状的图形,按钮区域和辅助区域,一个区域的像素点不透明,另一个区域的像素点透明)设置在uibutton上,并绑定用户点击事件,以在uibutton在屏幕上对应的按钮被点击时,根据用户的手指落点是否位于按钮区域来判断是否响应用户点击事件。通过此种方式,可以简单有效地构建所需形状(可以为任意形状,例如菱形、卡通头像图形等)响应区域的按钮,以在用户的手指落点位于按钮区域时响应用户点击事件,能够有效降低开发人员的学习成本。
8.结合第一方面,在第一方面的第一种可能的实现方式中,所述按钮区域的像素点不透明,所述辅助区域的像素点透明。
9.在该实现方式中,由于按钮区域通常需要展现各式各样的形状或图案,按钮的色彩可以设计得更加丰富,因此,按钮区域的像素点不透明,辅助区域的像素点透明,这样更符合实际应用中的设计需求。
10.第二方面,本技术实施例提供一种基于ios系统的按钮响应方法,应用于由第一方面或第一方面的第一种可能的实现方式所构建的按钮,所述方法包括:获取用户点击屏幕上按钮时的手指落点;获取所述手指落点处的像素信息,其中,所述像素信息用于揭示该像素是否透明;基于所述手指落点处的像素信息是否透明,确定是否响应本次的用户点击事件。
11.在本技术实施例中,通过获取用户点击屏幕上按钮时的手指落点;进一步获取手指落点处的像素信息,其中,像素信息用于揭示该像素是否透明;从而基于手指落点处的像素信息是否透明,确定是否响应本次的用户点击事件。通过此种方式可以简单高效且可靠地判断用户点击的部分是否在按钮区域,从而确定是否响应用户点击事件,实现各种形状的按钮的功能。
12.结合第二方面,在第二方面的第一种可能的实现方式中,所述获取用户点击屏幕上按钮时的手指落点,包括:按钮在屏幕上的相应区域被用户点击时,触发函数-(bool)pointinside:(cgpoint)point withevent:(uievent*)event,并通过point参数确定出手指落点。
13.在该实现方式中,按钮在屏幕上的相应区域被用户点击时,触发函数——(bool)pointinside:(cgpoint)point withevent:(uievent*)event,并通过point参数确定出手指落点,这样可以简单高效且准确地确定出手指落点,无需开发人员进行额外的算法设计,降低了开发难度。
14.结合第二方面,在第二方面的第二种可能的实现方式中,所述按钮区域的像素点不透明,所述辅助区域的像素点透明,所述基于所述手指落点处的像素信息是否透明,确定是否响应本次的用户点击事件,包括:若所述手指落点处的像素信息透明,不响应本次的用户点击事件;若所述手指落点处的像素信息不透明,响应本次的用户点击事件。
15.在该实现方式中,按钮区域的像素点不透明,辅助区域的像素点透明,那么,若手指落点处的像素信息透明,不响应本次的用户点击事件;若手指落点处的像素信息不透明,响应本次的用户点击事件。这样的方式可以简单准确地判断手指落点是否位于按钮区域内。
16.第三方面,本技术实施例提供一种基于ios系统的按钮构建装置,包括:uibutton单元,用于获取继承自ios原生按钮的uibutton,其中,uibutton的响应区域为设定形状;上层图片单元,用于获取上层图片,其中,所述上层图片包括互补为所述响应区域的按钮区域和辅助区域,所述按钮区域可为任意形状的图形,以及,所述按钮区域和所述辅助区域,一个区域的像素点不透明,另一个区域的像素点透明;按钮构建单元,用于将所述上层图片设置在所述uibutton上,并绑定用户点击事件,以在所述uibutton在屏幕上对应的按钮被点击时,根据用户的手指落点是否位于所述按钮区域来判断是否响应用户点击事件。
17.第四方面,本技术实施例提供一种基于ios系统的按钮响应装置,应用于由第一方面或第一方面的第一种可能的实现方式所构建的按钮,所述装置包括:手指落点获取单元,用于获取用户点击屏幕上按钮时的手指落点;像素信息获取单元,用于获取所述手指落点
处的像素信息,其中,所述像素信息用于揭示该像素是否透明;用户点击事件响应单元,用于基于所述手指落点处的像素信息是否透明,确定是否响应本次的用户点击事件。
18.第五方面,本技术实施例提供一种存储介质,所述存储介质包括存储的程序,其中,在所述程序运行时控制所述存储介质所在设备执行第一方面或第一方面的第一种可能的实现方式所述的基于ios系统的按钮构建方法,或者执行第二方面或第二方面的可能的实现方式中任一项所述的基于ios系统的按钮响应方法。
19.第六方面,本技术实施例提供一种终端设备,包括存储器和处理器,所述存储器用于存储包括程序指令的信息,所述处理器用于控制程序指令的执行,所述程序指令被处理器加载并执行时第一方面或第一方面的第一种可能的实现方式所述的基于ios系统的按钮构建方法,或者实现第二方面或第二方面的可能的实现方式中任一项所述的基于ios系统的按钮响应方法。
20.为使本技术的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。
附图说明
21.为了更清楚地说明本技术实施例的技术方案,下面将对本技术实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本技术的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相去关的附图。
22.图1为本技术实施例提供的一种基于ios系统的按钮构建方法的流程图。
23.图2为本技术实施例提供的将上层图片设置在uibutton上的示意图。
24.图3为本技术实施例提供的一种基于ios系统的按钮响应方法的流程图。
25.图4为本技术实施例提供的一种基于ios系统的按钮构建装置的结构框图。
26.图5为本技术实施例提供的一种基于ios系统的按钮响应装置的结构框图。
27.图6为本技术实施例提供的一种终端设备的结构框图。
28.图标:10-基于ios系统的按钮构建装置;11-uibutton单元;12-上层图片单元;13-按钮构建单元;20-基于ios系统的按钮响应装置;21-手指落点获取单元;22-像素信息获取单元;23-用户点击事件响应单元;30-电子设备;31-存储器;32-通信模块;33-总线;34-处理器。
具体实施方式
29.下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行描述。
30.请参阅图1,图1为本技术实施例提供的一种基于ios系统的按钮构建方法的流程图。在本实施例中,基于ios系统的按钮构建方法可以由终端设备执行,包括步骤s11、步骤s12和步骤s13。
31.为了简单高效地构建所需形状的按钮,终端设备可以执行步骤s11。
32.步骤s11:获取继承自ios原生按钮的uibutton,其中,uibutton的响应区域为设定形状。
33.在本实施例中,终端设备可以获取继承自ios原生按钮的uibutton。例如,可以自
定义一个类,继承自ios原生按钮提供的类uibutton。由于uibutton继承自ios原生按钮,其形状(即响应区域)相对固定,通常为矩形或圆形。
34.而后,终端设备可以执行步骤s12。
35.步骤s12:获取上层图片,其中,所述上层图片包括互补为所述响应区域的按钮区域和辅助区域,所述按钮区域可为任意形状的图形,以及,所述按钮区域和所述辅助区域,一个区域的像素点不透明,另一个区域的像素点透明。
36.在本实施例中,终端设备可以获取上层图片。此处的上层图片需要包括互补为响应区域的按钮区域和辅助区域,即上层图片的形状与uibutton的形状(响应区域)一致。其中的按钮区域,用于表示需要按钮响应的区域,而辅助区域,则可以定义为需要按钮不作响应的区域。且按钮区域和辅助区域,一个区域的像素点不透明,另一个区域的像素点透明。
37.示例性的,按钮区域的像素点不透明,辅助区域的像素点透明;或者,按钮区域的像素点透明,辅助区域的像素点不透明。本实施例中以按钮区域的像素点不透明,辅助区域的像素点透明为例进行说明,不应视为对本技术的限定。由于按钮区域通常需要展现各式各样的形状或图案,按钮的色彩可以设计得更加丰富,因此,按钮区域的像素点不透明,辅助区域的像素点透明,这样更符合实际应用中的设计需求。
38.基于此,此种方式可以将实现各种复杂形状的按钮区域从原来的图案构建转变为图片处理,而图片处理的方式构建复杂形状则相对来说非常简单,且此部分工作通常交由前端处理,其按钮形状也更容易符合需求。
39.例如,可以通过ps对基础图片(基础图片的形状与uibutton的形状一致)进行处理,从基础图片中确定出满足需求的封闭形状,从而可以在基础图片上划分出一个封闭形状(按钮区域)和一个(或多个)边角形状(所有边角形状统称辅助区域),并将边角形状的部分,设置为透明通道(alpha通道)。
40.获取上层图片后,终端设备可以执行步骤s13。
41.步骤s13:将所述上层图片设置在所述uibutton上,并绑定用户点击事件,以在所述uibutton在屏幕上对应的按钮被点击时,根据用户的手指落点是否位于所述按钮区域来判断是否响应用户点击事件。
42.在本实施例中,终端设备可以将上层图片设置在uibutton上,并绑定用户点击事件。从而,可以在uibutton在屏幕上对应的按钮被点击时,能够根据用户的手指落点是否位于按钮区域来判断是否响应用户点击事件。
43.如图2所示,将上层图片设置在uibutton上,上层图片可以覆盖在uibutton的响应区域,而上层图片的按钮区域和辅助区域,也同时位于uibutton的响应区域内。但按钮区域和辅助区域的不同之处(一个区域的像素点透明,另一个区域的像素点不透明),可以将uibutton的响应区域区分为两个区域,从而实现对按钮区域的点击进行响应,对辅助区域的点击不进行响应。
44.利用继承自ios原生按钮提供的uibutton(响应区域为设定形状);将上层图片(包括互补为响应区域的按钮区域和辅助区域,按钮区域可为任意形状的图形,按钮区域和辅助区域,一个区域的像素点不透明,另一个区域的像素点透明)设置在uibutton上,并绑定用户点击事件,以在uibutton在屏幕上对应的按钮被点击时,根据用户的手指落点是否位于按钮区域来判断是否响应用户点击事件。通过此种方式,可以简单有效地构建所需形状
(可以为任意形状,例如菱形、卡通头像图形等)响应区域的按钮,以在用户的手指落点位于按钮区域时响应用户点击事件,能够有效降低开发人员的学习成本。
45.请参阅图3,图3为本技术实施例提供的一种基于ios系统的按钮响应方法的流程图。
46.在本实施例中,基于ios系统的按钮响应方法可以依托于通过基于ios系统的按钮构建方法所构建的按钮来实现。具体的,基于ios系统的按钮响应方法可以包括步骤s21、步骤s22和步骤s23。
47.在本实施例中,在终端设备的屏幕上可以给用户呈现出按钮(或提示用户,该区域为操作区,可进行点击,以触发用户点击事件),用户可以对按钮进行点击,或者点击按钮之外的区域。只要用户进行点击,那么,终端设备就可以基于用户的点击执行步骤s21。
48.步骤s21:获取用户点击屏幕上按钮时的手指落点。
49.在本实施例中,终端设备可以基于用户的点击,获取用户点击屏幕上按钮时的手指落点。
50.当按钮被点击时会触发函数——(bool)pointinside:(cgpoint)point withevent:(uievent*)event,从而可以通过point参数确定出手指落点。这样可以简单高效且准确地确定出手指落点,无需开发人员进行额外的算法设计,降低了开发难度。
51.确定出手指落点后,终端设备可以执行步骤s22。
52.步骤s22:获取所述手指落点处的像素信息,其中,所述像素信息用于揭示该像素是否透明。
53.在本实施例中,终端设备可以获取手指落点处的像素信息,此像素信息用于揭示该手指落点处的像素是否透明。例如,终端设备可以确定出手指落点处的像素点的颜色,从而确定该像素点的颜色是否为透明点。
54.获取手指落点处的像素信息后,终端设备可以执行步骤s23。
55.步骤s23:基于所述手指落点处的像素信息是否透明,确定是否响应本次的用户点击事件。
56.在本实施例中,终端设备可以基于手指落点处的像素信息是否透明,确定是否响应本次的用户点击事件。
57.通过获取用户点击屏幕上按钮时的手指落点;进一步获取手指落点处的像素信息,其中,像素信息用于揭示该像素是否透明;从而基于手指落点处的像素信息是否透明,确定是否响应本次的用户点击事件。通过此种方式可以简单高效且可靠地判断用户点击的部分是否在按钮区域,从而确定是否响应用户点击事件,实现各种形状的按钮的功能。
58.示例性的,以按钮区域的像素点不透明,辅助区域的像素点透明为例,终端设备可以进行判断:
59.若手指落点处的像素信息透明,则表明手指落点处位于辅助区域,不在按钮区域内,因此不响应本次的用户点击事件。
60.若手指落点处的像素信息不透明,则表明手指落点处位于按钮区域内,因此可以响应本次的用户点击事件。
61.这样的方式可以简单准确地判断手指落点是否位于按钮区域内。
62.请参阅图4,图4为本技术实施例提供的一种基于ios系统的按钮构建装置10的结
构框图。
63.在本实施例中,基于ios系统的按钮构建装置20,可以包括:
64.uibutton单元11,用于获取继承自ios原生按钮的uibutton,其中,uibutton的响应区域为设定形状。
65.上层图片单元12,用于获取上层图片,其中,所述上层图片包括互补为所述响应区域的按钮区域和辅助区域,所述按钮区域可为任意形状的图形,以及,所述按钮区域和所述辅助区域,一个区域的像素点不透明,另一个区域的像素点透明。
66.按钮构建单元13,用于将所述上层图片设置在所述uibutton上,并绑定用户点击事件,以在所述uibutton在屏幕上对应的按钮被点击时,根据用户的手指落点是否位于所述按钮区域来判断是否响应用户点击事件。
67.请参阅图5,图5为本技术实施例提供的一种基于ios系统的按钮响应装置20的结构框图。
68.在本实施例中,基于ios系统的按钮响应装置20,可以应用于由本实施例中的基于ios系统的按钮构建方法所构建的按钮,基于ios系统的按钮响应装置20可以包括:
69.手指落点获取单元21,用于获取用户点击屏幕上按钮时的手指落点。
70.像素信息获取单元22,用于获取所述手指落点处的像素信息,其中,所述像素信息用于揭示该像素是否透明。
71.用户点击事件响应单元23,用于基于所述手指落点处的像素信息是否透明,确定是否响应本次的用户点击事件。
72.在本实施例中,所述手指落点获取单元21,还用于按钮在屏幕上的相应区域被用户点击时,触发函数——(bool)pointinside:(cgpoint)point withevent:(uievent*)event,并通过point参数确定出手指落点。
73.在本实施例中,所述按钮区域的像素点不透明,所述辅助区域的像素点透明,所述用户点击事件响应单元23,还用于在所述手指落点处的像素信息透明时,不响应本次的用户点击事件;在所述手指落点处的像素信息不透明时,响应本次的用户点击事件。
74.请参阅图6,图6为本技术实施例提供的一种终端设备30的结构框图。
75.在本实施例中,终端设备30可以为搭载ios系统的个人电脑、平板电脑、智能手机等,此处不作限定。
76.示例性的,终端设备30可以包括:通过网络与外界连接的通信模块32、用于执行程序指令的一个或多个处理器34、总线33和不同形式的存储器31,例如,磁盘、rom、或ram,或其任意组合。以及,终端设备30还具有显示屏(例如触摸屏),可以显示按钮和获取用户的点击信息。存储器31、通信模块32、处理器34之间可以通过总线33连接。
77.示例性的,存储器31中存储有程序。处理器34可以从存储器31调用并运行这些程序,从而便可以通过运行程序而实现基于ios系统的按钮构建方法或者基于ios系统的按钮响应方法。
78.本技术实施例还提供一种存储介质,所述存储介质包括存储的程序,其中,在所述程序运行时控制所述存储介质所在设备执行本实施例中的基于ios系统的按钮构建方法,或者执行本实施例中的基于ios系统的按钮响应方法。
79.综上所述,本技术实施例提供一种基于ios系统的按钮构建及响应方法、装置及终
端,利用继承自ios原生按钮的uibutton(响应区域为设定形状);将上层图片(包括互补为响应区域的按钮区域和辅助区域,按钮区域可为任意形状的图形,按钮区域和辅助区域,一个区域的像素点不透明,另一个区域的像素点透明)设置在uibutton上,并绑定用户点击事件,以在uibutton在屏幕上对应的按钮被点击时,根据用户的手指落点是否位于按钮区域来判断是否响应用户点击事件。通过此种方式,可以简单有效地构建所需形状(可以为任意形状,例如菱形、卡通头像图形等)响应区域的按钮,以在用户的手指落点位于按钮区域时响应用户点击事件,能够有效降低开发人员的学习成本。
80.在本技术所提供的实施例中,应该理解到,所揭露的装置及方法,可以通过其它的方式实现。以上所描述的实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,又例如,多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。
81.在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。
82.以上所述仅为本技术的实施例而已,并不用于限制本技术的保护范围,对于本领域的技术人员来说,本技术可以有各种更改和变化。凡在本技术的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本技术的保护范围之内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献