iOS iPad アプリには次の構造があります。
- RootViewController: ログイン
- @property UITabbar *main (ログイン成功後にロードされます);
ウィンドウとログインの2appDelegate
つのプロパティがあります。最初のものに をロードし、UIWindow
他のにロードしLoginViewController (UIViewController)
ます。Login を RootViewController として設定します。
MainController
ログイン時に、 (extends )と入力された「main」という名前のプロパティがありますUITabbarController
。
ログインに成功したら、上記のコードを使用してメインをロードします。
[_main setModalTransitionStyle:UIModalTransitionStyleCrossDissolve];
[self presentViewController:_main animated:YES completion:nil];
MainController は viewDidLoad メソッドでロードされました。私には2つのポイントがあります:
MainController のデリゲートとして自分自身を設定する必要がありますか?
これは私の MainController viewDidLoad メソッドの始まりです:
[super viewDidLoad];
[self setDelegate:self];
NSLog(@"Parent view controller is: %@", [self parentViewController]);
NSLog(@"Presented view controller is: %@", [self presentedViewController]);
NSLog(@"Presenting view controller is: %@", [self presentingViewController]);
これのログは次のとおりです。
2013-01-20 21:23:53.180 MyApp[6304:11303] Parent view controller is: (null)
2013-01-20 21:23:53.181 MyApp[6304:11303] Presented view controller is: (null)
2013-01-20 21:23:53.182 MyApp[6304:11303] Presenting view controller is: (null)
viewController を提示する正しい方法を使用していますか? または、ボタンをクリックするかログインした後にビューを表示するには? 何が欠けている?ビュー階層を正しく使用していますか?
表示されるコントローラを含むプロパティが必要ですか?
今からよろしくお願いします!