我想創建自己的UI庫,其中包含多個可重用控件。一個非常簡單的可能是一個LabeledView,它將包含一個UIView(最可能是一個UIImageView)和一個UILabel。iOS:從筆尖加載自定義UIView
----------------
| outer UIView |
| ------------ |
| | | |
| | UIView | |
| | | |
| ------------ |
| | UILabel | |
| ------------ |
----------------
如何在Interface Builder中實現此功能,並在創建外部UIView時「注入」內部UIView和UILabel?我有外部UIView作爲文件的所有者和內部UIView和UILabel與IBOutlets連接到我的LabeledView中的屬性。我現在想象的初始化函數,如:
[[LabeledView alloc] initWithView:(UIView *)theView andLabel:(UILabel *)theLabel]
這種方法應該從筆尖其定義佈局加載視圖,插入theView
和theLabel
進去。這不可能很難,不是嗎?我不明白這一點...
是的,我明白了。但是,在從該筆尖創建外部UIView之前,我有內部的UIView和UILabel,並且我想「注入」這些以便它們調整筆尖的佈局和大小。 – cschuff
我認爲內部視圖和標籤是筆尖的一部分。你說過他們是連接到外部視圖的出口,這是文件的所有者,因此它們必須是筆尖的一部分。我不明白你在問什麼,你能給我更多的信息嗎? – jrturton
我不想讓筆尖創建子視圖和標籤。我想使用之前創建的視圖和標籤。 nib中的視圖和標籤應該充當佔位符,我可以添加以前創建的視圖和標籤,以便它們從nib繼承佈局和屬性。我得出的結論是,這很可能根本不可能,我需要自己實現佈局... – cschuff