0

在我的应用程序中,我有 3 个 nib 文件。在第一个 nib 文件中,我有一个 uiwebview,它将用户重定向到 vimeo 页面以对我的应用程序进行用户身份验证,在用户按下该链接中的允许后,控件将转移到我的应用程序,然后显示我设计的视频列表一个新的 nib 文件和第三个 nib 文件来播放用户选择的视频。但是在用户批准后我无法加载第二个 nib 文件。我尝试了这些方法在用户按下允许后我获得了访问权限。我删除了 uiwebview 然后我尝试使用 UInib 加载第二个 nib,NSbundle 但出现了 nib dint,我还尝试为新的 nib 创建一个单独的类并将该 nib 的文件所有者分配给新创建的类,但是这种方法也努力工作。然后我尝试使用 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(),但它们都不起作用。你能帮我解决这个问题吗?谢谢你。

4

1 回答 1

0

在您的应用程序委托中,使用它从包中加载 nib:

self.viewController = [[UIStoryboard storyboardWithName:@"yourstoryboardname"  bundle:nil] instantiateViewControllerWithIdentifier:@"youviewcontrollername"];

这应该为当前视图加载笔尖。

于 2013-08-28T11:02:26.570 回答