簡體   English   中英

無法從UIViewController加載xib文件

[英]Cant load xib file from UIViewController

我正在嘗試從我的UIViewController加載一個xib文件。

在.h

UIView *myView;

@property(nonatomic, retain) IBOutlet UIView *myView;

在我的.m

@synthesize myView;

if([[NSBundle mainBundle] loadNibNamed:@"MyView" owner:self options:nil]) { 
            [self.myView setFrame:CGRectMake(0, 0, 320, 480)];

            [[UIApplication sharedApplication].keyWindow addSubview:self.myView];

}

從相同的UIViewController我加載和刪除xib文件。 我在上面的例子中使用了相同的代碼,並且它有效。 它的一個特定的xib文件似乎有問題。 我檢查過,窗口是否為零。 但事實並非如此。 無法弄清問題是什么。

編輯: self是否有可能過早地被釋放

在加載此xib文件之前,我使用相同的代碼來加載另一個xib文件。 這很好。 我試圖在此視圖上方加載當前的xib文件。

也許確保您的xib文件已添加到目標的“復制包資源”部分,在“構建階段”部分中。 (並仔細檢查它是否已添加到導航菜單資源)。

嘗試這個:

if([[[NSBundle mainBundle] loadNibNamed:@"MyView" owner:self options:nil] objectAtIndex:0]) { 
            [self.myView setFrame:CGRectMake(0, 0, 320, 480)];

            [[UIApplication sharedApplication].keyWindow addSubview:self.myView];

}   

我認為問題可能是“loadNibNamed”返回頂級對象的NSArray。

如果您將此視圖加載到另一個UIView ,並且如果正確加載了該UIView ,則可以將此視圖添加為UIView的子視圖。

暫無
暫無

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

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