以編程方式製作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