-1

iPad の開発を開始する数日後、いくつかの問題に直面しました。

その中で、Deskboardのようなオプションの数を表示する1つのviewcontrollerを作成し、splitview controllerを開いた後

以下のような流れ

View Controller
   |
   |->Splite view controller(with Tabbar controll)
                |
                |->Left controller(UITableview)
                |
                |->Right Controller(navigation controller)

したがって、私は以下のような出力を期待していました

ここに画像の説明を入力

誰もが問題を解決するために導くことができます。

アイデアや回避策はありますか?

私の質問が明確でない場合はお知らせください。

よろしくお願いいたします。

サミュエル。

4

3 に答える 3

0

以下のコードをチェックしてください

MasterVctrと呼ばれるUISplitViewControllerを処理するための新しいビューコントローラーを追加し
ます。LeftVCtrとRightVctrと呼ばれる左ビューと右ビュー用の2つの新しいコントローラーを追加します。

MasterVCtr

定義

@property(nonatomic, retain) IBOutlet UISplitViewController *splitViewController;

次のコードをviewDidLoadに追加します

splitViewController = [[UISplitViewController alloc] init];

table = [[LeftVCtr alloc] initWithStyle:UITableViewStylePlain];
detail = [[RightVctr alloc] initWithNibName:@"RightVctr" bundle:nil];

UINavigationController *leftNav = [[[UINavigationController alloc] initWithRootViewController:table] autorelease];
UINavigationController *rightNav = [[[UINavigationController alloc] initWithRootViewController:detail] autorelease];

splitViewController.viewControllers = [NSArray arrayWithObjects:leftNav,rightNav, nil];
splitViewController.delegate = self;
self.view = splitViewController.view;
于 2012-05-22T05:10:10.427 に答える
0

アプリデリゲートで変更したこれをご覧ください。

手順1:タブバーナビゲーションアプリケーションテンプレートを使用しました。

手順2:App Delegate .mファイルを変更すると、UISplitViewコントローラーオブジェクトがプロパティとして取得されます。

次に、以下のように変更を加えます。

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
self.window = [[[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]] autorelease];

UIViewController *viewController1 = [[[FirstViewController alloc] initWithNibName:@"FirstViewController" bundle:nil] autorelease];
UIViewController *viewController2 = [[[SecondViewController alloc] initWithNibName:@"SecondViewController" bundle:nil] autorelease];

self.tabBarController = [[[UITabBarController alloc] init] autorelease];
self.splitController = [[UISplitViewController alloc] init];
[self.splitController setViewControllers:[NSArray arrayWithObjects:viewController1, viewController2, nil]];

self.tabBarController.viewControllers = [NSArray arrayWithObjects:_splitController, nil];
self.window.rootViewController = self.tabBarController;
[self.window makeKeyAndVisible];
return YES;
}

それは働いていましたメモリ管理の世話をしてください

于 2012-05-21T20:45:47.810 に答える
-1

この問題は、Cocoa Matter ソリューションで解決します。

そして今、ソリューションの上にフォームを作成し、ソリューションを強化して、問題を解決しました。

以下は、ソリューションの .h ファイルのコードです。

@property(nonatomic,retain)UISplitViewController *splitController;

.m ファイル

   UIViewController *viewController5 = [[searchDetail alloc] initWithNibName:@"searchDetail" bundle:nil];
    delegate.tabBarController.viewControllers = [NSArray arrayWithObjects:viewController1, viewController2, navForLogin, navForContact, viewController5, nil]; 

    SearchVctr *viewController1 = [[SearchVctr alloc] initWithNibName:@"SearchVctr" bundle:nil];
    FavouriteVctr *viewController2 = [[FavouriteVctr alloc] initWithNibName:@"FavouriteVctr" bundle:nil];
    self.splitController = [[UISplitViewController alloc] init];
    [self.splitController setViewControllers:[NSArray arrayWithObjects:viewController1, viewController2, nil]];
    self.splitController.delegate = self;
    viewController5.view=self.splitController.view;

    delegate.tabBarController.selectedIndex = 4;
    delegate.imgV.image=[UIImage imageNamed:[NSString stringWithFormat:@"t4_ipad.png"]];
    delegate.tabBarController.modalTransitionStyle = UIModalTransitionStyleFlipHorizontal;
    delegate.self.imgV.frame=CGRectMake(0, 0, 1024, 48);
    [self presentModalViewController:delegate.tabBarController animated:YES];

返信いただきありがとうございます、

于 2012-05-22T05:18:31.927 に答える