2011-07-12 13 views
1

スプリットビューコントローラを使用して左側のナビゲーションコントローラと右側のテーブルビューを表示しようとしています。私はRootViewControllerののviewDidLoadでこのコードを使用します。UISplitViewControllerの使い方

self.clearsSelectionOnViewWillAppear = NO; 
self.contentSizeForViewInPopover = CGSizeMake(320.0, 600.0); 

Settings *settings = [[Settings alloc] init]; //Table view 
MainView *main = [[MainView alloc] init]; //Table view 

UINavigationController *nav_con = [[UINavigationController alloc] init]; 
NSArray *controllers = [[NSArray alloc] initWithObjects:settings, detailViewController, nil]; 
[nav_con pushViewController:settings animated:NO]; 

self.view = nav_con.view; 
detailViewController.view = main.view; 

私はこれをコーディングの百万種類の方法のように試してみた、そしてこの1つは修正するために最も接近します。左側のペインにナビゲーションコントローラが表示され、右側にメインビューが表示されます。しかし、左のペインの上部には、それらの間に大きな黒いスペースを持つ2つのバーがあります。私のnavコントローラのバーのバーの1つ。左側のペインのコンテンツをナビゲーションコントローラのビューで完全に置き換えるにはどうすればよいですか?

答えて

1

SettingsMainViewが良くcontrollersの最初のオブジェクトがnav_con、ないsettings

は最後の二つの "ビュー" の行を削除UITableViewController

のサブクラスでなければならないことが、

RootViewControllerは、サブクラスでなければなりませんUISplitViewControllerと作成されているインスタンスはwindow.rootViewControllerに設定する必要があります。

また、このコードを外部のviewDidLoadの外部に行うのはかなり標準的です。私はビューとして読み込まれているものが不思議に思えます! nibファイルでこれを行う方がずっと簡単です。

関連する問題