2011-09-15 6 views
0

私はiOS世界の初心者です。 私はUISplitViewControllerに基づいたアプリケーションを持っていますが、場合によっては詳細ビュー(UINavigationController)のボタンが画面全体にUIを開きます(戻るボタンでsplitViewControllerに戻る)。 唯一のオプション(リンゴから正当なもの)はModalViewでモデル化していますか?UISavigationControllerを使用したUISplitViewController

答えて

0

「HIGに優しい」かどうかはわかりませんが、ユーザーがボタンをクリックしたときにAppDelegateにメッセージを送り返し、ウィンドウレベルでfullScreenViewControllerを使用してsplitViewControllerを呼び出します。例えば

は、あなたのAppDelegate.mに:

- (void)showFullScreenController 
{ 
    if (self.splitViewController.superview != nil) { // Just check that the split view controller is currently showing 
     FullScreenViewController *newFullScreenController = [[FullScreenViewController alloc] initWithNibName:@"FullScreenViewController" bundle:nil]; 
     self.fullScreenController = newFullScreenController; 
     [newFullScreenController release]; 

     [self.splitViewController viewWillDisappear:YES]; // "YES" assumes you are animating the transition 
     [self.fullScreenController viewWillAppear:YES]; 

     // Remove old view and add new one. 
     [self.splitViewController.view removeFromSuperview]; 
     [window addSubview:self.fullScreenController.view]; 

     [self.splitViewController viewDidDisappear:YES]; 
     [self.fullScreenController viewDidAppear:YES]; 

     self.splitViewController = nil; 
    } 
} 

この方法は、簡単に対応するelse声明を利用して、代わりにsplitViewControllerをロードすることによって「ビュー切り替え」メソッドに変換することができます。

これが役に立ちます。

+0

ありがとう、私は一つの懸念があります:私はfullscreenconからsplitviewに戻って行きたいと思います。 (私はあなたがそれをリリースすると思います) –

+0

@adi biton:上記の例では、splitViewControllerをリリースしました。 fullScreenViewから戻る必要があるときにコードを再作成することができます(コードは上の例と非常によく似ています)。または、最初にコントローラへの参照を解放できませんでした。後者は、使用していないコントローラ(メモリの無駄)を不必要に保持しているため、お勧めできません。 – Stuart

関連する問題