3

私はsplitviewcontrollerベースのアプリケーションを持っていますが、問題は2つのモーダルビューの後に分割ビューが表示されることです。

  1. ログイン用
  2. ユーザーにとって他のいくつかの有用な情報。

これで、splitviewコントローラーは常にルートビューコントローラーである必要があることがわかりました。だから私がやっていることは私のappDelegateクラスに3つのオブジェクトを作成することです。A、B、および分割ビューコントローラC。

ナビゲーションの順序はA->B->Cです。

アプリデリゲートでは、これが私が行うことです。

self.loginViewController=[[LoginViewController alloc] init];
self.window.rootViewController = self.loginViewController;

そして、ログインボタンが押されると、これは私がloginViewコントローラーから行うことです。

TSAppDelegate *appDelegate=(TSAppDelegate *)[[UIApplication sharedApplication] delegate];
                appDelegate.meetingsViewController=[[MeetingsViewController alloc] init];
                [UIView
                 transitionWithView:appDelegate.window 
                 duration:0.8
                 options:UIViewAnimationOptionTransitionCrossDissolve
                 animations:^(void) {
                     BOOL oldState = [UIView areAnimationsEnabled];
                     [UIView setAnimationsEnabled:NO];
                     appDelegate.window.rootViewController=appDelegate.meetingsViewController;    
                     [UIView setAnimationsEnabled:oldState];
                 } 
                 completion:nil];

これは2番目のビューを示しています...同様に、2番目のビューコントローラーで何らかのアクションが実行された場合の分割ビューコントローラーを示します...

だから私の質問はそれがそれを行う正しい方法であるかどうかです...?(ちなみに、これは正常に機能し、エンタープライズアプリケーションでもあります)

PSまた、分割ビューコントローラーをrootviewcontrollerとして作成し、他のビューコントローラービューをそのサブビューとして追加しようとしましたが、正しく機能しません。

4

1 に答える 1

4

もちろん、ウィンドウのを再割り当てするのはまったく問題ありませんrootViewController

于 2012-06-08T10:27:18.757 に答える