Iphone 将.xib与故事板一起使用时出现的问题
嘿,我正在尝试打开一个使用xib接口文件设计的视图控制器。我使用以下代码行从作为情节提要组件创建的视图控制器中生成控制器Iphone 将.xib与故事板一起使用时出现的问题,iphone,ios,storyboard,xib,Iphone,Ios,Storyboard,Xib,嘿,我正在尝试打开一个使用xib接口文件设计的视图控制器。我使用以下代码行从作为情节提要组件创建的视图控制器中生成控制器 YourViewController *viewController [[YourViewControlleralloc] initWithNibName:@"ViewControllerName" bundle:nil]; [self presentViewController:viewController animated:YES completion:nil];
YourViewController *viewController [[YourViewControlleralloc] initWithNibName:@"ViewControllerName" bundle:nil];
[self presentViewController:viewController animated:YES completion:nil];
我以前从未使用.xib设置过视图控制器,也从未通过故事板链接过视图控制器,因此可能会出现任何问题。这是我试图呈现视图时遇到的错误
2013-05-17 13:06:45.120咖啡[8991:907]*由于以下原因终止应用程序
未捕获异常“NSInternalInconsistencyException”,原因:
'-[UIViewController\u loadViewFromNibNamed:bundle:]加载了
“PeekPagedScrollViewController”nib,但未设置视图出口
将.xib中的文件所有者设置为视图控制器的类(可能称为PeekPagedScrollViewController)
然后将它的
视图
出口连接到.xib文件中的主视图。它连接正确我刚刚忘记声明initWithNibName方法,因此当我从故事板调用它时它崩溃了。愚蠢的错误,但感谢所有伟大的反馈@matt将Storyboard view controller自定义类设置为您的类名(您的xib也在引用的类名),然后在同一个类中,只需使用以下内容覆盖initWithCoder
:
- (id)initWithCoder:(NSCoder *)aDecoder
{
self = [[super initWithCoder:aDecoder] initWithNibName:@"YourCustomViewControllerXibsName" bundle:nil];
if( self ) {
}
return self;
}
这将使您能够在故事板中设计布局和分段转换,但可以在独立的nib文件中设计布局
故事板将处理实例化,但是当调用initWithCoder:
时,initWithNibName:
将是通过xib实例化self
的方法