簡體   English   中英

如何一起使用xib和UIView子類?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM