1

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]; 

}

4

1 に答える 1

0

私はググって、素敵なアプローチを見つけました。詳細ビューで UINavigationController を使用して、新しいビューをプッシュします。この同じソリューションをプロジェクトに使用できます。

http://www.cimgf.com/2010/05/24/fixing-the-uisplitviewcontroller-template/

于 2011-05-26T13:53:30.010 に答える