以编程方式制作UI非常强大。 但是,有没有一种方法,我会错过看看例如CG图形在IB中绘制,而不必编译代码?有没有办法在Interface Builder中看到Core Graphics图形?
我想没有,但我更喜欢问,指的是后:)
以编程方式制作UI非常强大。 但是,有没有一种方法,我会错过看看例如CG图形在IB中绘制,而不必编译代码?有没有办法在Interface Builder中看到Core Graphics图形?
我想没有,但我更喜欢问,指的是后:)
NOP,怎么会IB知道如何不编译的代码画?
新的这个问题的答案是:是。
和Xcode 6,你可以让Interface Builder中呈现您的自定义视图。此外,您还可以在自定义视图上制作可通过Interface Builder进行检查的属性,您可以从Interface Builder中设置该属性,就像内置视图的属性一样。
所有你需要做的就是添加正上方标头中的类声明的行IB_DESIGNABLE
。这将使Interface Builder通过调用其drawRect:
方法来呈现您的自定义视图。
如果您还想要可检查的属性,只需将IBInspectable
添加到属性声明中,如:@property IBInspectable float myValue
,并且您将能够直接从Interface Builder中设置该属性。
有了这两者的结合,我目前正在设计一个自定义视图,并通过更改属性(颜色,笔画宽度等),我可以看到实时,这可能只是你问的效果。
它来晚了一点,但最后,它在这里。
当然。但有一些操作需要大量的编译/测试/优化/编译/测试。 例子:你画了一些框架,对齐等 顺便说一句,我会做 – gluon 2012-04-08 21:25:46
@gluon恐怕是你唯一的选择。另一个(奇怪的)选项是绘制Illustrator上的所有界面或类似的东西,导出到SVG并尝试将SVG转换为CG调用,还有一篇关于将SVG转换为CG的非常好的博客文章,但我不记得地址... – fbernardo 2012-04-08 23:19:22
好的fbernardo。也许,加载与预先制作成UIImage网格图片只是为了对齐,可能是一种方式。 :) – gluon 2012-04-09 08:23:53