iOS框架-已加载nib,但未设置视图出口
我看到了许多与我类似的问题,但没有解决方案,这可能是因为我正在创建iOS框架,然后将其导入到项目中 基本上,我有一个登录框架,如果用户没有登录,我想显示一个webview 我的普通项目将调用我的框架,如果我需要验证,登录框架将告诉我加载某个.xib以登录 在我的框架中,这个.xib被命名为SignIn.xib,它包含一个视图控制器,其中包含一个webview,如您所见: 现在,在我的框架中,我初始化视图控制器并调用委托的一个函数来加载SignenView:iOS框架-已加载nib,但未设置视图出口,ios,objective-c,xcode,xcode6,ios-frameworks,Ios,Objective C,Xcode,Xcode6,Ios Frameworks,我看到了许多与我类似的问题,但没有解决方案,这可能是因为我正在创建iOS框架,然后将其导入到项目中 基本上,我有一个登录框架,如果用户没有登录,我想显示一个webview 我的普通项目将调用我的框架,如果我需要验证,登录框架将告诉我加载某个.xib以登录 在我的框架中,这个.xib被命名为SignIn.xib,它包含一个视图控制器,其中包含一个webview,如您所见: 现在,在我的框架中,我初始化视图控制器并调用委托的一个函数来加载SignenView: NSString* const fr
NSString* const frameworkBundleID = @"iOSLoginSDK";
NSBundle* bundle = [NSBundle bundleWithIdentifier:frameworkBundleID];
SignInViewController* signInViewController = [[SignInViewController alloc] initWithNibName:@"SignIn" bundle:bundle];
[self.delegate loadSignInView:signInViewController];
在我的项目中,我只需执行以下操作,delagate将调用此方法:
-(void) loadSignInView:(CYMSignInViewController *)signInViewController {
[self presentViewController:signInViewController animated:YES completion:nil];
}
但是,我在尝试运行应用程序时出现以下错误:
*** Terminating app due to uncaught exception 'NSInternalInconsistencyException', reason: '-[UIViewController _loadViewFromNibNamed:bundle:] loaded the "SignIn" nib but the view outlet was not set.
我正在使用XCode 6.3.2
编辑1:我认为出现问题是因为我的xib中有一个视图控制器。我可以这样做吗?
编辑2:这里是我在my.xib中的出口
Edit3:我试图重新创建笔尖,但仍然出现相同的错误
以下是我所做的步骤:
我在这里遗漏了什么吗?好的,所以基本上,在一个独立的.xib中似乎不能有一个视图控制器。我认为,因为.xib在某种程度上是一个视图控制器(有人可以澄清)
我所做的是,我创建了一个视图,正确地设置了我的设计,然后,我将我的ViewController类文件分配给了文件的所有者。这样,它现在可以工作了。您的nib中有一个简单的错误-最外面的
UIView
需要连接到UIViewController对象的视图
出口。只需选择UIView并将控件拖动到UIViewController对象,然后选择视图
outletMy outermost,您是指视图控制器,因为最外层是视图控制器还是文件所有者?因为看起来是这样,所以请参见edit2是否可以添加显示对象层次结构的左侧NIB navigator面板的屏幕截图?文件所有者应该是您的UIViewController类SignenViewController
-实际NIB组件层次结构中的第一个对象应该是UIView-此视图将包含您的工具栏和UIWebView我想这就是我拥有的:它从屏幕截图上看是正确的。它看起来像一个非常简单的笔尖——也许可以尝试重新创建它。这就是你应该如何做的——对不起,从你的截图上看不清楚你做了什么。可以使用容器将另一个UIViewController添加到视图中,但该UIViewController实例通常与其自己的NIB或情节提要场景相关联