我的屏幕上有很多UI元素,我必须将它们的外观调整到完美,包括框架,文本颜色,背景,颜色,角半径等。每个微小的调整意味着我必须重新编译代码并重新启动模拟器 - 每次迭代可能需要5-6秒,这非常耗时(而且很烦人),必须通过反复试验进行100次调整。我的问题是,是否有任何技术可以立即更新每个UI元素的属性,而无需重新编译代码并重新启动模拟器。
我想到的一种技术是嵌入一个UIWebView,它将自动从包含所有UI元素及其属性的localhost服务器下载json。我会在我的本地机器上运行Grunt Server,它会检测到对该json文件所做的任何更改,并导致UIWebView在每次编辑后刷新并下载新的json。我的代码中会有一个处理程序,它将UI元素属性设置为该json中包含的新值。通过这种方式,我可以将模拟器和文本编辑器放在一边,我可以看到我在json中所做的更改如何立即影响UI元素的外观。
也许还有其他开发人员遇到过同样的问题,可以分享他们如何克服这个烦人的问题。我不喜欢使用nib文件 - 所以请不要告诉我使用nib文件:)即使使用.xib文件,你仍然需要编译它们。
答案 0 :(得分:1)
使用UISliders等创建第二个小viewController子类,你可以设置做各种事情,例如rgba用于颜色,设置一个快速和脏的协议将这些值推回到根视图控制器和重绘元素,然后弹出第二个视图控制器模态地调整东西(在iPad模拟器上的UIPopover内部可能是最简单的。这可能成为你在开发中使用的一个很好的可重复使用的'skinning'类,只需要一个工具项或按钮来触发它)
也可能是NSLog的值,所以当你完成某些事情时,你可以硬编码或者在
中输入它。