CN109254923A - 一种应用内ui调试的方法 - Google Patents
一种应用内ui调试的方法 Download PDFInfo
- Publication number
- CN109254923A CN109254923A CN201811095991.0A CN201811095991A CN109254923A CN 109254923 A CN109254923 A CN 109254923A CN 201811095991 A CN201811095991 A CN 201811095991A CN 109254923 A CN109254923 A CN 109254923A
- Authority
- CN
- China
- Prior art keywords
- hitview
- view
- response
- response object
- debugging
- 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
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/362—Software debugging
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明涉及一种应用内UI调试的方法,包括如下步骤:调用UIView里面的方法hitTest:withEvent:,获得响应触摸事件的响应对象hitView,在响应对象hitView中,调用showDetailAlert,显示触摸事件相关的详细信息,调用isHighlighted方法判断响应对象hitView是否为高亮状态,如果不是,则:调用addBorder方法,沿响应对象hitView轮廓增加高亮颜色效果,执行hitView.subViews对当前view的subviews进行增加高亮颜色处理,直至当前view的所有subviews均处理完毕。本发明,利用iOS事件响应链中Hit‑Test View,通过重写获得当前点击的视图,然后将该视图高亮,并弹窗显示相关信息,便于开发人员检查、调试UI,提高工作效率。
Description
技术领域
本发明涉及应用(APP)开发中UI布局调试技术领域,具体说是一种应用内UI调试的方法。
背景技术
在开发iOS系统使用的应用(APP)时,UI调试是每一个APP开发者或者前端开发者必备的技术。目前iOS和UI开发(UI构建)常见的开发方式有:
使用Stroyboard&XIB,StoryBoard 的本质是一个 XML 文件,描述了若干窗体、组件、Auto Layout 约束等关键信息,通常简单APP开发时使用,
用纯代码手写UI,通常大型APP,单页面超复杂炫酷APP,或SDK,第三方库时使用,
当然,一个项目也很有可能是以上开发方式均使用(例如复杂APP开发时)。
UI调试通常需要反复的修改代码,一次又一次地调整它的各种属性,以达到美工的需求,其步骤大体包括:修改代码,编译生成,启动APP,进入指定页面后看到效果。整个过程需要等待一定的时间,而且反复修改编译后才能达到自己想要的效果,浪费时间。而且,如果采用代码生成UI的话,想要在复杂的页面里找到每个视图控件对应的代码也较为麻烦,这些大大降低了开发效率,多人开发时尤是如此,大大增加了协调、沟通的耗时。
发明内容
针对现有技术中存在的缺陷,本发明的目的在于提供一种应用内UI调试的方法,利用iOS事件响应链中”Hit-Test View”来实现,通过重写hitTest:withEvent:方法来获得当前点击的视图,然后将该视图高亮,并弹窗显示相关信息,便于开发人员检查、调试UI,提高工作效率。
为达到以上目的,本发明采取的技术方案是:
一种应用内UI调试的方法,其特征在于,包括如下步骤:
调用UIView 里面的方法hitTest: withEvent:,在视图的层次结构中寻找一个最适合的视图view 来响应触摸事件,
获得响应触摸事件的响应对象hitView,
在响应对象hitView中,调用showDetailAlert,显示触摸事件相关的详细信息,
调用isHighlighted方法判断响应对象hitView是否为高亮状态,
如果不是高亮状态,则:
调用addBorder方法,沿响应对象hitView轮廓增加高亮颜色效果,
执行hitView.subViews对当前view的subviews进行增加高亮颜色处理,直至当前view的所有subviews均处理完毕。
在上述技术方案的基础上,在主窗口keyWindow中重写hitTest: withEvent:方法来获得当前点击的视图。
在上述技术方案的基础上,获得响应触摸事件的响应对象hitView时,使用subviews值来取各个子View。
在上述技术方案的基础上,通过设置hitview.tag为某一特定值来判定当前视图是否高亮。
在上述技术方案的基础上,调用addBorder方法时,通过参数addBorderWithColor:指定高亮颜色。
在上述技术方案的基础上,高亮颜色默认存储于参数UIColor中。
在上述技术方案的基础上,显示触摸事件相关的详细信息呈现于顶部弹窗中。
在上述技术方案的基础上,触摸事件相关的详细信息包括:
调用showHitViewClass显示响应对象hitView的视图的类名,
调用showSuperViewClass显示响应对象hitView的父视图的类名,
调用showFrame显示响应对象hitView的布局信息,具体包括:视图位置,视图大小。
本发明所述的应用内UI调试的方法,利用iOS事件响应链中”Hit-Test View”来实现,通过重写hitTest:withEvent:方法来获得当前点击的视图,然后将该视图高亮,并弹窗显示相关信息,便于开发人员检查、调试UI,提高工作效率。
本发明所述的应用内UI调试的方法,可应用到酷我音乐盒iOS应用(本应用UI界面多且UI元素复杂)中,在应用内即可查看某个UI组件的信息,辅助开发人员快捷高效的进行UI调试,提高开发效率,避免对于不熟悉的控件很难查找到具体的实现类等问题的出现。
附图说明
本发明有如下附图:
图1 本发明的流程图。
具体实施方式
以下结合附图对本发明作进一步详细说明。
如图1所示,本发明所述的应用内UI调试的方法,包括如下步骤:
调用UIView 里面的方法hitTest: withEvent:,在视图的层次结构中寻找一个最适合的视图view 来响应触摸事件,
获得响应触摸事件的响应对象hitView,
在响应对象hitView中,调用showDetailAlert,显示触摸事件相关的详细信息,
调用isHighlighted方法判断响应对象hitView是否为高亮状态,
如果不是高亮状态,则:
调用addBorder方法,沿响应对象hitView轮廓增加高亮颜色效果,
执行hitView.subViews对当前view的subviews进行增加高亮颜色处理,直至当前view的所有subviews均处理完毕。
在上述技术方案的基础上,在主窗口keyWindow中重写hitTest: withEvent:方法来获得当前点击的视图。
在上述技术方案的基础上,获得响应触摸事件的响应对象hitView时,使用subviews值来取各个子View。
在上述技术方案的基础上,通过设置hitview.tag为某一特定值来判定当前视图是否高亮。目的在于准确获取子view的Tag值。
在上述技术方案的基础上,调用addBorder方法时,通过参数addBorderWithColor:指定高亮颜色。
在上述技术方案的基础上,高亮颜色默认存储于参数UIColor中。
在上述技术方案的基础上,显示触摸事件相关的详细信息呈现于顶部弹窗中。
在上述技术方案的基础上,触摸事件相关的详细信息包括:
调用showHitViewClass显示响应对象hitView的视图的类名,
调用showSuperViewClass显示响应对象hitView的父视图的类名,
调用showFrame显示响应对象hitView的布局信息,具体包括:视图位置,视图大小。
在UI设计人员进行界面走查验收(代码走查)时,通常需要:
检查页面一致性,
确保方案的可用性和屏幕上的操作易于使用,
确保文本易于阅读,
注意颜色对屏幕的影响,
Icon 的使用,
动效的使用。
在上述这些工作中,利用本发明所述的应用内UI调试的方法,则:显示触摸事件相关的详细信息呈现于顶部弹窗中的方式,可辅助走查人员快速确定是否存在问题或错误需要修正,大大提高了走查效率。
本说明书中未作详细描述的内容属于本领域专业技术人员公知的现有技术。
Claims (8)
1.一种应用内UI调试的方法,其特征在于,包括如下步骤:
调用UIView 里面的方法hitTest: withEvent:,在视图的层次结构中寻找一个最适合的视图view 来响应触摸事件,
获得响应触摸事件的响应对象hitView,
在响应对象hitView中,调用showDetailAlert,显示触摸事件相关的详细信息,
调用isHighlighted方法判断响应对象hitView是否为高亮状态,
如果不是高亮状态,则:
调用addBorder方法,沿响应对象hitView轮廓增加高亮颜色效果,
执行hitView.subViews对当前view的subviews进行增加高亮颜色处理,直至当前view的所有subviews均处理完毕。
2.如权利要求1所述的应用内UI调试的方法,其特征在于:在主窗口keyWindow中重写hitTest: withEvent:方法来获得当前点击的视图。
3.如权利要求1所述的应用内UI调试的方法,其特征在于:获得响应触摸事件的响应对象hitView时,使用subviews值来取各个子View。
4.如权利要求1所述的应用内UI调试的方法,其特征在于:通过设置hitview.tag为某一特定值来判定当前视图是否高亮。
5.如权利要求1所述的应用内UI调试的方法,其特征在于:调用addBorder方法时,通过参数addBorderWithColor:指定高亮颜色。
6.如权利要求5所述的应用内UI调试的方法,其特征在于:高亮颜色默认存储于参数UIColor中。
7.如权利要求1所述的应用内UI调试的方法,其特征在于:显示触摸事件相关的详细信息呈现于顶部弹窗中。
8.如权利要求7所述的应用内UI调试的方法,其特征在于:触摸事件相关的详细信息包括:
调用showHitViewClass显示响应对象hitView的视图的类名,
调用showSuperViewClass显示响应对象hitView的父视图的类名,
调用showFrame显示响应对象hitView的布局信息,具体包括:视图位置,视图大小。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811095991.0A CN109254923A (zh) | 2018-09-19 | 2018-09-19 | 一种应用内ui调试的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811095991.0A CN109254923A (zh) | 2018-09-19 | 2018-09-19 | 一种应用内ui调试的方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN109254923A true CN109254923A (zh) | 2019-01-22 |
Family
ID=65048398
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811095991.0A Pending CN109254923A (zh) | 2018-09-19 | 2018-09-19 | 一种应用内ui调试的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109254923A (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103473173A (zh) * | 2013-09-10 | 2013-12-25 | 成都品果科技有限公司 | 一种对iOS系统进行汇编级动态调试的方法及装置 |
CN104391783A (zh) * | 2014-07-24 | 2015-03-04 | 贵阳朗玛信息技术股份有限公司 | 一种软件调试方法及装置 |
CN105511864A (zh) * | 2015-11-30 | 2016-04-20 | 青岛海信移动通信技术股份有限公司 | 一种资源定位方法及装置 |
CN106095666A (zh) * | 2016-06-02 | 2016-11-09 | 腾讯科技(深圳)有限公司 | 游戏自动化测试方法及相关装置 |
CN108509196A (zh) * | 2018-03-06 | 2018-09-07 | 北京酷我科技有限公司 | 一种iOS颜色管理策略 |
-
2018
- 2018-09-19 CN CN201811095991.0A patent/CN109254923A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103473173A (zh) * | 2013-09-10 | 2013-12-25 | 成都品果科技有限公司 | 一种对iOS系统进行汇编级动态调试的方法及装置 |
CN104391783A (zh) * | 2014-07-24 | 2015-03-04 | 贵阳朗玛信息技术股份有限公司 | 一种软件调试方法及装置 |
CN105511864A (zh) * | 2015-11-30 | 2016-04-20 | 青岛海信移动通信技术股份有限公司 | 一种资源定位方法及装置 |
CN106095666A (zh) * | 2016-06-02 | 2016-11-09 | 腾讯科技(深圳)有限公司 | 游戏自动化测试方法及相关装置 |
CN108509196A (zh) * | 2018-03-06 | 2018-09-07 | 北京酷我科技有限公司 | 一种iOS颜色管理策略 |
Non-Patent Citations (1)
Title |
---|
HK_HANK: "iOS-使用hitTest控制点击事件的响应对象", 《简书》 * |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Grönninger et al. | Textbased modeling | |
US20160357519A1 (en) | Natural Language Engine for Coding and Debugging | |
US8407661B2 (en) | Method and system for creating HMI applications for an automation process | |
US20160092211A1 (en) | Visualizations of inter-entity calls | |
US8739134B2 (en) | Valgrind suppressions file editor | |
CN101834938A (zh) | 一种实现移动终端横竖屏切换的装置及方法 | |
US10936804B2 (en) | Spreadsheet cell calculation view providing multiple-representation editing | |
CN111435298A (zh) | 埋点方法、装置、电子设备、存储介质 | |
US9880815B2 (en) | SQL visualizer | |
US20100309212A1 (en) | Platform agnostic screen capture tool | |
EP3008585A1 (en) | Automatic source code generation | |
CN110532159A (zh) | 数据监听方法、装置、设备及计算机可读存储介质 | |
CN109799988A (zh) | iOS页面布局方法、终端设备及计算机可读存储介质 | |
CN104424205A (zh) | 嵌入页面的客户端的右键菜单的实现方法和装置 | |
CN105468573A (zh) | 可配置式图表应用系统 | |
CN114036443A (zh) | 页面生成方法及装置 | |
CN112506854A (zh) | 页面模板文件的存储和页面生成方法、装置、设备及介质 | |
CN105117339B (zh) | 一种利用插件调试原生命令调试程序的方法和装置 | |
CN105224347B (zh) | 数据配置方法及装置 | |
US20060136870A1 (en) | Visual user interface for creating multimodal applications | |
CN115437608A (zh) | 智能研发辅助方法及装置 | |
CN104834715A (zh) | 一种基于部件和容器的网站生成方法及系统 | |
US20130185698A1 (en) | Simplifying analysis of software code used in software systems | |
CN110780970B (zh) | 数据筛选方法、装置、设备及计算机可读存储介质 | |
CN115469849B (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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20190122 |
|
RJ01 | Rejection of invention patent application after publication |