「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
をロードすることによって「ビュー切り替え」メソッドに変換することができます。
これが役に立ちます。
ありがとう、私は一つの懸念があります:私はfullscreenconからsplitviewに戻って行きたいと思います。 (私はあなたがそれをリリースすると思います) –
@adi biton:上記の例では、splitViewControllerをリリースしました。 fullScreenViewから戻る必要があるときにコードを再作成することができます(コードは上の例と非常によく似ています)。または、最初にコントローラへの参照を解放できませんでした。後者は、使用していないコントローラ(メモリの無駄)を不必要に保持しているため、お勧めできません。 – Stuart