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