2010-12-20 72 views
4

由於IB文件相當複雜,因此我有一個自定義視圖:(RotatorView.xib/.h/.m)。 我想將RotatorView作爲子視圖添加到視圖控制器。我可以通過編程方式使用:如何將視圖XIB作爲子視圖加載到視圖控制器中XIB

NSArray *array = [[NSBundle mainBundle] loadNibNamed:@"RotatorView" 
               owner:self options:nil]; 

但我寧願不這樣做。如果我可以將RotatorView添加到Interface Builder中View Controller的畫布上,那對我的設計會更好。這樣我可以使用IB來管理每個RotatorView實例的屬性,而不是在每個類中以編程方式設置屬性。有沒有一種方法可以將我的自定義視圖與XIB添加到父視圖控制器?我必須建立一個IB插件才能做到這一點嗎?

回答

4

您可以在IB中的畫布上添加UIView控件,並更改其類名以匹配您的自定義視圖類名稱。 儘管這樣可以使您無法通過編程方式調用loadNibNamed方法,但是您將無法直接從IB設置自定義屬性。

這樣做的唯一解決方案是構建一個IB plugin,但不幸的是,由於無法制作Cocoa Touch框架,因此似乎無法制作Cocoa Touch IB插件。

+0

我做了一些更多的研究並得出了相同的結論。這似乎是一個奇怪的遺漏,雖然。我可以使用IB構建自定義視圖,但無法將該自定義視圖嵌入到另一個視圖控制器XIB中。 – Steve 2010-12-21 16:31:46

相關問題