2013-07-26 61 views
-1

使用以下我可以創建一個視圖,然後筆尖加載到其中:如何添加已有UIView的子視圖?

CGRect newViewRect = CGRectMake(0, self.view.bounds.size.width - 335, 335, 400); 
UIView *newView = [[UIView alloc] initWithFrame:newViewRect]; 
newView = [[[NSBundle mainBundle] loadNibNamed:@"TheNewViewNib" owner:self options:nil] objectAtIndex:0]; 

這裏是問題,當過我的廈門國際銀行文件已經包含了UIView,XCode中只記錄「LLDB」,但是我們要說如果我刪除xib文件中的UIView並添加其他任何對象,則它顯示得非常好。

但是因爲我想加載整個UIView以及其中的所有內容,所以我更喜歡找到一種方法來加載筆尖UIView

感謝您的幫助。

回答

0

當您使用

newView = [[[NSBundle mainBundle] loadNibNamed:@"TheNewViewNib" owner:self options:nil] objectAtIndex:0]; 

此代碼由筆尖文件的內容重新加載你的UIView變量「NewView的」。因此,在代碼範圍之前創建UIVew變量是毫無意義的。

如果您的視圖被合成。只需通過您的自定義類繼承UIView,然後爲每個複合添加IBOutlet,然後使用這些複合創建xib,然後將它們轉換爲IBoutlets。然後像上面那樣加載xib。

newView = [[[NSBundle mainBundle] loadNibNamed:@"TheNewViewNib" owner:self options:nil] objectAtIndex:0]; 

或者無需子類化即可訪問複合材料,只需使用subViews的標籤。在每個視圖的xib set標籤中,然後通過[view viewWithTag:tag];來訪問它們。

相關問題