![](/img/trans.png)
[英]How to initialize UIView subclass that is load from xib? Problems with inheritance
[英]How to use a xib and a UIView subclass together?
我想創建一些自定義視圖,一些可重用的UI組件,並且不希望在UIView子類中的代碼中布局UI。 我想用xib。 我自己使用了一個xib。 我已經通過iteself使用了一個UIView子類。 但我沒有一起使用它們。 我如何將它們“附加”到彼此? 我想使用IBOutlets在我的自定義視圖中訪問UILabels。
這種事情會起作用嗎?
NSArray *xib = [[NSBundle mainBundle] loadNibNamed:@"MyCustomView" owner:self options:nil];
MyCustomView *view = [xib objectAtIndex:0];
view.myLabel.text = @"fred";
是的,這是當你加載不是viewControllers父項的xib時的工作方式
編輯2013年8月15日:
您不能總是假設您將從返回的NSArray的索引0中獲得您正在尋找的內容,這使得使用類型檢查變得更好。
NSArray *xibArray = [[NSBundle mainBundle] loadNibNamed:@"MyCustomView" owner:nil options:nil];
MyCustomView *myView = nil;
for (id xibObject in xibArray) {
//Loop through array, check for the object we're interested in.
if ([xibObject isKindOfClass:[MyCustomView class]]) {
//Use casting to cast (id) to (MyCustomView *)
myView = (MyCustomView *)xibObject;
}
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.