在我的应用程序中,我有3个nib文件。在第一个nib文件中,我有一个uiwebview,它将用户重定向到vimeo页面,用于我的应用程序的用户身份验证,在用户按下该链接中的allow后,控件被转移到我的应用程序,之后显示我设计的视频列表新的nib文件和第三个nib文件,用于播放所选的视频用户。但是我无法在用户批准后加载第二个nib文件。我尝试了这些方法 用户按下允许后,我获得了访问权限。我删除了uiwebview然后我尝试使用UInib加载第二个笔尖,NSbundle但是nib dint出现了,我还尝试为新笔尖创建一个单独的类并将该笔尖的文件所有者分配给新创建的类但是这种方法还有工作。 然后我尝试使用appdelegate加载代码。我写这样的代码:
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions{
NSLog(@"in the app delegate show UI");
CustomInterface *ci = [CustomInterface new];
[[NSBundle mainBundle]loadNibNamed:@"Interface" owner:ci options:nil];
UILabel *lab = [ci valueForKey:@"label"];
[self.window.rootViewController.view addSubview:lab];
lab.frame = CGRectIntegral(lab.frame);
UITableView *tab = [ci valueForKey:@"table"];
[self.window.rootViewController.view addSubview:tab];
tab.frame = CGRectIntegral(tab.frame);
return YES; }
但是通过使用这个,当应用程序启动时,初始笔尖和第二个笔尖都会加载,但我想在用户身份验证后加载第二个笔尖。 我已经尝试了许多其他技术,比如为第二个nib创建一个新的委托和类,在默认的AppDelegate中创建一个新方法showSecondNib()但它们都没有工作。 你能帮我这个吗?谢谢。
答案 0 :(得分:0)
在你的app delegate中使用它从bundle中加载nib:
self.viewController = [[UIStoryboard storyboardWithName:@"yourstoryboardname" bundle:nil] instantiateViewControllerWithIdentifier:@"youviewcontrollername"];
这应该为当前视图加载nib。