UISplitViewControllerを使用してサンプルアプリを作成し、提供された例を調べました。3つの詳細ビューを作成し、デフォルトの方法で変更するように構成しました。横向きで左/マスタービューを使用するか、縦向きでポップオーバーを使用します。
現在、各ビューで左/右スワイプを使用して、currentViewから別のビュー(前/次)に移動しようとしています。そのために、私が行ったことは、RootViewControllerで関数を作成することでした。RootViewControllerからのポップオーバーで使用されるテーブル行選択のコードと同じコードをコピーして貼り付けました。現在のビューのコントローラーからこの関数を呼び出しており、現在のビューからビュー(次に表示される)のそれぞれのインデックスを渡します。関数が呼び出されていますが、何も起きていません。
Plzは私を助けますか、それともこの複雑なステップ以外の方法はありますか?ビューを変更するために使用した機能を提供しています。
- (void) rearrangeViews:(int)viewRow
{
UIViewController <SubstitutableDetailViewController> *detailViewController = nil;
if (viewRow == 0) {
DetailViewController *newDetailViewController = [[DetailViewController alloc] initWithNibName:@"DetailView" bundle:nil];
detailViewController = newDetailViewController;
}
if (viewRow == 1) {
SecondDetailViewController *newDetailViewController = [[SecondDetailViewController alloc] initWithNibName:@"SecondDetailView" bundle:nil];
detailViewController = newDetailViewController;
}
if (viewRow == 2) {
ThirdDetailViewController *newDetailViewController = [[ThirdDetailViewController alloc] initWithNibName:@"ThirdDetailView" bundle:nil];
detailViewController = newDetailViewController;
}
// Update the split view controller's view controllers array.
NSArray *viewControllers = [[NSArray alloc] initWithObjects:self.navigationController, detailViewController, nil];
splitViewController.viewControllers = viewControllers;
[viewControllers release];
if (rootPopoverButtonItem != nil) {
[detailViewController showRootPopoverButtonItem:self.rootPopoverButtonItem];
}
[detailViewController release];
}