0

私のアプリケーションには、3 つの nib ファイルがあります。最初のnibファイルには、アプリのユーザー認証のためにユーザーをvimeoページにリダイレクトするuiwebviewがあります。ユーザーがそのリンクで許可を押した後、コントロールがアプリに転送され、その後、私が設計したビデオのリストを表示しますユーザーが選択したビデオを再生するための新しいnibファイルと3番目のnibファイル。しかし、ユーザーの承認後に2番目のnibファイルをロードできません。ユーザーが許可を押してアクセスした後、これらのアプローチを試しました。私はuiwebviewを削除し、次にUInib、NSbundleを使用して2番目のペン先をロードしようとしましたが、ペン先が表示されます。また、新しいペン先用に別のクラスを作成し、そのペン先のファイル所有者を新しく作成されたクラスに割り当てようとしましたが、そのアプローチまた、作業を行います。次に、コードのロードに 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; }

しかし、これを使用すると、アプリの起動時に最初のペン先と2番目のペン先の両方がロードされますが、ユーザー認証後に2番目のペン先をロードしたいです。2 番目の nib の新しいデリゲートとクラスの作成、デフォルトの AppDelegate での新しいメソッド showSecondNib() の作成など、他の多くの手法を試しましたが、どれも機能しませんでした。これで私を助けてくれませんか。ありがとうございました。

4

1 に答える 1

0

アプリデリゲートでは、これを使用してバンドルから nib をロードします。

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

これにより、現在のビューの nib がロードされます。

于 2013-08-28T11:02:26.570 に答える