簡體   English   中英

如何在iOS中從NIB加載NIB

[英]How to load a NIB from NIB in iOS

我有通過XIB創建的CustomViewController。

我還通過作為UIView子類的XIB文件創建了CustomView。

然后,我將UIView投放到CustomViewController並將其類設置為CustomView。

問題在這里:然后我運行此應用程序,但沒有看到在CustomView XIB中創建的CustomView的內容。

為什么以及如何解決?

我需要在CustomViewController中擁有CustomView,因為我需要設置此視圖的布局。

我可以從ViewDidLoad加載這個CustomView,但是我需要從XIB加載它

UIView *v = [[[NSBundle mainBundle] loadNibNamed:@"TopSegmentedControl" owner:self options:nil] firstObject ];
[self.view addSubview:v];

我認為您應該考慮更改UIView子類,以便它繼承自UIViewController,並作為子ViewController添加到層次結構中。 如果這樣做,則可以將接口構建器中檢查器托盤中的containerView對象添加到外部viewControllers視圖中,並將在其中添加新的(筆尖內的筆尖),以便將所有內容粘貼到其中。

我認為從可可和cocoaTouch的最新變化來看,蘋果不想讓我們從筆尖加載簡單的視圖。 請注意,頂部的“文件所有者”代理現已標記為“ ViewController”

您將必須將其中包含的代碼放入UIViewController的initWithCoder:方法中。 這是從情節提要中初始化時調用的初始化方法。 假設您已經連接了一個名為myView的插座:

- (id)initWithCoder:(NSCoder *)aDecoder {
    if ((self = [super initWithCoder:aDecoder])) {
        self.myView = [[[NSBundle mainBundle] loadNibNamed:@"TopSegmentedControl" owner:self options:nil] firstObject];

        return self;
    }
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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