ios 利用Reveal来调试界面1 --模拟器(步骤详解)
Reveal是一个程序界面调试工具,可以调试iOS apps和tvOS apps。使用Reveal,我们可以在开发时动态地查看和修改应用程序的界面。避免每次修改UI的时候都要重新运行程序。接下来按照规矩,如下图,能用 图说明清楚的就不用文字来表达了,文字的表现力不够直观。
1、如“Reveal程序运行截图”所示,我使用的Reveal官方提供的项目来 作为调试Demo,最左边的是Demo的在模拟器的运行效果,右边的App就是Reveal,我第一眼看到这个Reveal有种惊艳的感觉。App的左上 方是我此刻调试的模拟器,左下方是我此刻查看UI细节信息的UIView,App的中间部分就是此刻正在分析的设备界面,App的最右边是不是看着和 Xcode的Xib编辑器有点类似,没错这个就是可以动态查看和修改UI的地方。这个修改的方式和Xcode的Xib修改Ui细节类似,相信你对这个已经 很有感觉了,只要稍加查看就可以上手的。
2、如“Reveal查看UI图”所示,Reveal查看UI的维度也是可以选择的,可以有二维视角,也可以有三维视角。我选择了一个三维视角,如上图所示左边点击展开UIView的层级,点击对应的View查看这个View的对应约束,用这样的方式来查看UI的约束是不是太直观了。
使用Reveal来调试模拟器中的我们的App的界面是最简单的。只需要添加对应的断点即可。
1、在Xcode项目中,选择“View → Navigators → Show Breakpoint Navigator”。

2、在左边底部面板,点击”+“号按钮,然后选择“Add Symbolic Breakpoint”。
3、在Symbol字段里面填入“UIApplicationMain”。
4、点击“Add Action”按钮,并确认一下“Action”是设置到“Debugger Command”。
5、在Action下的文本框中贴入如下表达式
expr (Class)NSClassFromString(@”IBARevealLoader”) == nil ? (void *)dlopen(“/Applications/Reveal.app/Contents/SharedSupport/iOS-Libraries/libReveal.dylib”, 0x2) : ((void*)0)
6、检查选项“Automatically continue after evaluating actions”是否勾选了。
7、右键点击新建的断点,然后选择“
Move Breakpoint To → User
”保存给所有的项目使用。
8、编译,在模拟器上运行你的程序,然后打开Reveal,查看你的布局。
由于篇幅有限制,真机的调试在下一篇中加上。。。
ios 利用Reveal来调试界面1 --模拟器(步骤详解)的更多相关文章
- ios 利用Reveal来调试界面2--真机调试(步骤详解)
使用真机调试我们的App界面,如果你的真机是没有越狱的设备,那么使用Reveal来调试UI的步骤是最麻烦的.
- 如何利用IIS调试ASP.NET网站程序详解
如何利用IIS调试ASP.NET网站程序详解 更新时间:2019年01月13日 08:44:13 作者:江湖逍遥 我要评论 这篇文章主要给大家介绍了关于如何利用IIS调试ASP.NET网 ...
- iOS之UI--使用SWRevealViewController 实现侧边菜单功能详解实例
iOS之UI--使用SWRevealViewController 实现侧边菜单功能详解实例 使用SWRevealViewController实现侧边菜单功能详解 下面通过两种方法详解SWReveal ...
- 【转】 C# DEBUG 调试信息打印及输出详解
[转] C# DEBUG 调试信息打印及输出详解 1.debug只在[debug模式下才执行](运行按钮后面的下拉框可选) 2.debug提供了许多调试指令,如断言 System.D ...
- JavaScript调试技巧之console.log()详解
JavaScript调试技巧之console.log()详解 对于JavaScript程序的调试,相比于alert(),使用console.log()是一种更好的方式,原因在于:alert()函数会阻 ...
- Myeclipse程序调试快捷键及步骤详解
Myeclipse程序调试快捷键及步骤详解: 调试快捷键 Eclipse中有如下一些和运行调试相关的快捷键. 1. [Ctrl+Shift+B]:在当前行设置断点或取消设置的断点. ...
- 【IOS 开发】Object-C 入门 Xcode 环境详解
作者 : 韩曙亮 转载请注明出处 : http://blog.csdn.net/shulianghan/article/details/38424965 一. Xcode 环境安装 与 工程创建 1. ...
- iOS之UI--使用SWRevealViewController实现侧边菜单功能详解实例
使用SWRevealViewController实现侧边菜单功能详解 下面通过两种方法详解SWRevealViewController实现侧边菜单功能: 1.使用StoryBoard实现 2.纯代 ...
- iOS开发——加载、滑动翻阅大量图片解决方案详解
加载.滑动翻阅大量图片解决方案详解 今天分享一下私人相册中,读取加载.滑动翻阅大量图片解决方案,我想强调的是,编程思想无关乎平台限制. 我要详细说一下,在缩略图界面点击任意小缩略图后,进入高清 ...
随机推荐
- C语言和C++中动态申请内存
在C语言和C++的动态内存的使用方法是不同的,在C语言中要使用动态内存要包含一个头文件即 #include<malloc.h> 或者是#include<stdlib.h> ...
- 1500: [NOI2005]维修数列
Description Input 输入的第1 行包含两个数N 和M(M ≤20 000),N 表示初始时数列中数的个数,M表示要进行的操作数目.第2行包含N个数字,描述初始时的数列.以下M行,每行一 ...
- aircrack-ng on OSX 从零开始之探测
继续上一篇内容,在安装好aircrack-ng之后,就要学习如何对目标进行探测了.找了篇教程跟着学习一下吧.其实网上关于使用aircrack-ng的教程还是很多的,我也参考了很多,不过最后还是以官方的 ...
- nginx提示No input file specified怎么办
用了网上提供的各种方法都不行,即便html能正常打开,php文件依然有问题.而后继续尝试了修改权限 chown -vR www:www /folder 功能都正常. nginx.conf 的 user ...
- Java 判断操作系统类型(适用于各种操作系统)
Java 判断操作系统类型(适用于各种操作系统) 最近一段时间写一个授权的程序,需要获取很多信息来保证程序不能随意复制使用,必须经过授权才可以. 为了限制用户使用的操作系统,必须有统一的方法来获取才可 ...
- Tiny210v2( S5PV210 )平台下创建基本根文件系统
转自Tiny210v2( S5PV210 )平台下创建基本根文件系统 0. 概要介绍 ========================================================= ...
- 设计模式之策略模式Strategy
/** * 策略设计模式 * 策略模式:定义一系列的算法族,使他们之间可以相互转换,动态的改变其行为. * 问题:设计一个鸭子模拟游戏. * 现在有一群鸭子: * ①这些鸭可以有飞的行为(分为快和慢) ...
- 【HDU 4372】 Count the Buildings (第一类斯特林数)
Count the Buildings Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/65536 K (Java/Othe ...
- UVA 10034 Freckles 最小生成树
虽然是道普通的最小生成树题目,可还是中间出了不少问题,暴露的一个问题是不够细心,不够熟练.所以这篇博客就当记录一下bug吧. 代码一:kruskal #include<stdio.h> # ...
- 李洪强iOS开发之-环信02.3_具体接口讲解 - Apple Docs
http://www.easemob.com/apidoc/ios/chat3.0/annotated.html Apple Docs.