私の要件は、UITabBarControllerがrootviewcontrollerであり、初めてアプリケーションを起動したときに、UINavConの中にあるログインプロシージャを表示したいのですが、presentViewController
で表示しています。[self.window makeKeyAndVisible]できます。 rootviewcontrollerを設定する前に呼び出さなければならない
UITabBarControllerを初めて表示したいのではなく、ログインUINavConがモーダルとしてどのようにポップしているかを知りたくありません。
初めてアプリが起動すると、UINavConが表示されるはずです。だからここに私のコードです:
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];
[self.window makeKeyAndVisible];//is it correct to call it here?
LoginVC *loginObj = [[LoginVC alloc]init];
self.navigationController = [[UINavigationController alloc] initWithRootViewController:cellPhoneNumber];
self.tabBarController = [[UITabBarController alloc]init];
self.window.rootViewController = self.tabBarController;
[self.tabBarController presentViewController:self.navigationController animated:NO completion:^{}];
return YES;
}
私は右uiwindow
alloc
init
後に2行目[self.window makeKeyAndVisible];
を呼び出しています。それは正しいですか、またはビューコントローラがイベントやオリエンテーション通知を受信しないなどの問題が発生する可能性がありますか?
返信いただきありがとうございます、私たちは通常、外部出力の場合には、我々は別のuiwindowを持っている私たちは通常、1つのuiwindowを持っていることを教えてくれますか?私の場合のようにデフォルトではuiwindowは0のインデックスにあり、appleはこれを "これは受信者をメインウィンドウにして他のウィンドウの前に表示する便利な方法です"と言う。他の窓の前ではどういう意味ですか? –
何もあなたは複数のウィンドウを持つことを止めません。例えばあなたはすでに2つ以上の..あなたとキーボードのウィンドウを持っています! –