在Inspectable 中編輯view 屬性

2021-07-11 04:19:01 字數 1811 閱讀 9427

在 xcode 6,你現在可以指定任何屬性作為可檢查項並為你的自定義類建立了乙個使用者介面。

例如,在乙個uiview子類裡,這些屬性用它們的值來更新背景層:

swift

@

ibinspectable

varcornerradius

:cgfloat=0

}@ibinspectable

varborderwidth

:cgfloat=0

}@ibinspectable

varbordercolor

:uicolor

?}

標有@ibinspectable(或是 objective-c 中的ibinspectable),他們就可以很容易在 inte***ce builder 的觀察面板(inspector panel)裡編輯。需要注意的是 xcode 在這裡做了更多的事,屬性名稱是從 camel- 轉換為 title- 模式 並且相關的名稱組合在一起:

因為可檢查屬性僅僅是使用者定義的執行時屬性頂部的介面,所以支援相同的型別列表:布林,字串和數字(即,nsnumber或任何數值型別),以及cgpointcgsizecgrectuicolornsrange,額外增加了uiimage

如果這還不夠,ibdesignable自定義檢視也在 xcode 6 中亮相了。當應用到uiviewnsview子類中的時候,@ ibdesignable讓 inte***ce builder 知道它應該在畫布上直接渲染檢視。你會看到你的自定義檢視在每次更改後不必編譯並執行你的應用程式就會顯示。

標記乙個自定義檢視為ibdesignable,只需在類名前加上@ibdesignable的字首(或是 objective-c 裡的ib_designable巨集)。你的初始化、布置和繪製方法將被用來在畫布上渲染你的自定義檢視:

swift

@

ibdesignable

class

mycustomview

:uiview

從這個功能上節約的時間是不能被低估的。加上ibinspectable屬性,乙個設計師或開發人員可以輕鬆地調整自定義控制項的呈現,以得到她想要的確切的結果。任何改變,無論是從**或屬性檢查器中,都將立即呈現在畫布上。

此外,任何問題都是可避開編譯和執行整個程式來除錯的。除錯的方法很簡單,只需在你的**中設定乙個斷點,在 inte***ce builder 中選擇檢視,並選擇 editor ➔ debug selected views。

由於在 inte***ce builder 中呈現自定義檢視不會有應用程式的完整上下文,你可能需要生成模擬資料以便顯示,例如乙個預設使用者頭像或仿製的天氣資料。有兩種方法可以為這個特殊的上下文新增**:

swift

#if !target_inte***ce_builder

#else

// this code will execute only in ib

#endif

ROS學習(七)使用Rosed在ROS中編輯檔案

rosed是rosbash套件的一部分。它允許您通過使用包名稱直接編輯包中的檔案,而不必鍵入包的完整路徑。用法 rosed package name filename 這樣,您可以輕鬆地檢視和選擇編輯程式包中的所有檔案,而無需知道其確切名稱。用法 rosed package name 例子 rose...

fckeditor編輯器在php中的配置方法

一 修改檔案上傳語言為php 開啟fckconfig.js 找到 var filebrowserlanguage asp var quickuploadlanguage asp 改成 var filebrowserlanwww.cppcns.comguage php var quickuploadl...

關於pytorch在windows上編輯的問題集合

cmake在windows上自動尋找v140 vs2015 的編譯器,現在只有vs2013的ide,所以要修改編譯器 修改掉vs2015的編譯器名稱,報錯提示引數cmake c compiler和cmake cxx compiler引數的對應位址找不到 在cmakelists.txt裡顯式設定這兩個...