admin管理员组文章数量:1657214
原来的网址:http://www.2cto/kf/201506/408354.html
故事的背景是这样的。
王二最近换了一个新老板,产品团队是新的,测试团队是新的,只有他一个人干着iOS的开发工作,前有老板催促项目,后有测试堵截bug,好苦逼啊。。。本来,特意为产品给的设计图会是这样的
但实际上,产品给的设计图是这样的:
果然,理想很丰满,现实很骨感。苦逼的王二同学跑去问产品:“UI元素之间的尺寸怎么确定?”产品说:“你定吧,看着和原型图一样就行。”呵呵呵呵呵,这种回答和“我要做一张图。”“什么图?”“用户一看就想买的那种图。”有什么区别?
不过这点事情难不倒王二,很快,王二就把ui部分完成了,交给产品一看,产品看了三秒后:“哎,你这个输入框的位置往上3个像素好不好?”“按钮可不可以小几个像素?”。。。。。。王二按照产品的要求修改了下,又拿去给产品看,产品扒拉扒拉说了一堆像素上的事。王二崩溃了,拉着产品在旁边,每改一步,就运行一次程序,给产品看一下效果。就这样,改代码——运行——显示效果——产品扒拉扒拉——改代码——运行——显示效果——产品扒拉扒拉。。。。
王二疯了。。。。。
王二给我讲了他的遭遇后,我问他:你知不知道一个能实时修改ui尺寸并显示的app?
王二:。。。。。。
好吧,我来告诉你。
这个软件就是大名鼎鼎的Reveal,下载地址http://revealapp/download/
首先下载试用版的(这个软件建议花钱买一下,物超所值啊有木有),安装。嗯,就是这个样子的
安装完后,就该配置了
1、打开命令窗口,在根目录下创建一个.lldbinit文件。输入下列命令,后回车
?
1 |
vim ~/.lldbinit
|
?
1 2 3 4 |
command alias reveal_load_sim expr (
void
*)dlopen(
"/Applications/Reveal.app/Contents/SharedSupport/iOS-Libraries/libReveal.dylib"
,
0x2
);
command alias reveal_load_dev expr (
void
*)dlopen([(NSString*)[(NSBundle*)[NSBundle mainBundle] pathForResource:@
"libReveal"
ofType:@
"dylib"
] cStringUsingEncoding:
0x4
],
0x2
);
command alias reveal_start expr (
void
)[(NSNotificationCenter*)[NSNotificationCenter defaultCenter] postNotificationName:@
"IBARevealRequestStart"
object:nil];
command alias reveal_stop expr (
void
)[(NSNotificationCenter*)[NSNotificationCenter defaultCenter] postNotificationName:@
"IBARevealRequestStop"
object:nil];
|
reveal_load_sim:模拟器加载reveal时调用的动态链接库
reveal_load_dev:真机加载reveal时调用的动态链接库
reveal_start:启动reveal的调试功能
reveal_stop:关闭reveal的调试功能
在输入完这些命令后,输入以下命令,按一下回车就保存并退出编辑模式了
?
1 |
:wq
|
3、在工程中配置reveal链接到模拟器
打开工程后,在appdeleget中的didfinished:方法中打下断点,并按下图编辑断点:
打完断点后,就可以选择模拟器运行工程了,当工程跑起来后,打开reveal,点击左上角的工程选择,会看到我们的工程。如图:
选择我们的app的工程,就能在reveal中看到我们的ui布局了。
左边是干嘛的我就不说了,中间是当前页面的ui,右边是ui元素的相关尺寸、位置信息。在右边对应的框中可以修改相关数值并即时显示。
在Xcode中也提供了这种即时查看ui的功能,但是没法动态实时修改所以还是用reveal比较方便一点,而且,在修改了某个页面的元素尺寸后,在模拟器上计入下一个页面,回到reveal上之后重新连
reveal还可以在真机调试中链接真机,在编辑断点时要修改为相应的指令。并且将reveal的动态链接库一并添加进工程中:
1、点击revel菜单的“help——》show reveal library in finder”在finder中查找reveal的动态链接库:libReveal.dylib,并将其拖入工程。
2、调整libReveal.dylib的引用方式,这里我们只需要将libReveal.dylib文件拷贝到Sandbox中,但是我们在引入libReveal.dylib的时候Xcode默认是以Link Binary With Libraries的方式的,实际上应该是Copy Bundle Resources,所以应该先将libReveal.dylib从Link Binary With Libraries中移除掉,然后在Copy Bundle Resources中添加。
3、修改断点处的指令为reveal_load_dev.
reveal还可以连接破解版的苹果设备,来查看其他家的appUI结构,这个方法我没有用过,大家可以去找找网上的资料。
本文标签: Reveal
版权声明:本文标题:reveal 内容由热心网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:https://m.elefans.com/xitong/1729773128a1212414.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论