2011-09-09 18 views
0

SplitViewControllerのbarButtonItemはどのように表示されますか? SplitViewControllerで自動的に作成されませんか?splitButtonItemは画面に表示されません。

Ipadのターゲットとなるプロジェクトを作成しました。私のmainViewControllerをコントローラビューとしてポートレートモードで表示し、別のuiviewController "RootViewController"をtableViewと共に作成しました。例えば、私のmainViewControllerで

- (void)splitViewController: (UISplitViewController*)svc willHideViewController: 
- (void)splitViewController: (UISplitViewController*)svc willShowViewController: 

iは、2つのメソッドを置く

// Called when rotating to a portrait orientation. 
- (void)splitViewController: (UISplitViewController*)svc willHideViewController:(UIViewController *)aViewController withBarButtonItem:(UIBarButtonItem*)barButtonItem forPopoverController: (UIPopoverController*)pc 
{ 
    barButtonItem.title = @"Root List"; 
    NSMutableArray *items = [[toolbar items] mutableCopy]; 
    [items insertObject:barButtonItem atIndex:0]; 
    [toolbar setItems:items animated:YES]; 
    [items release]; 
    self.mainPopoverController = pc; 
} 

(mainPopoverCが... .hファイルに設定されています。

UIPopoverController * mainPopoverController;

ですが、シミュレーションではbarButtomItem以外のmainViewControllerビューしか表示されません。

おかげでたくさんごツールバーが何のアイテムが含まれていない場合

答えて

1

[toolbar items] 

は、nilであるので、あなたのmutableCopyが深い空間に入る... willHideViewControllerの内側にこのような何かを試してみてください

+0

ありがとうTom、そうですね、実際は同じ質問です。チャウンのコードを試してみました。ツールバーは空のようです:あなたはどうやって普通にやりますか?私はIBとsplitVCを設定し、viewControllerが表示されますが、ツールバーは表示されません...自動的にコードに追加する必要があるメソッドによって追加されていませんか? – Paul

+1

これは自分でセットアップしましたか?私はあなたSplitViewテンプレートプロジェクトを試し、違いを確認することをお勧めします。 detailviewにはツールバーがあり、自動的には作成されません。 – Tom

+0

あなたが正しいです、ツールバーが画面に追加されました...私はそれを見ていない、ありがとう、それは今働く!おかげで – Paul

1

UIBarButtonItem *menuButtonItem = [[UIBarButtonItem alloc] initWithTitle:@"Root List" style:UIBarButtonItemStyleBordered target:self action:@selector(showPopover:)]; 
NSMutableArray *items = [[NSMutableArray alloc] initWithArray:toolbar.items]; 
if ([items count]) { 
    [items insertObject:menuButtonItem atIndex:0]; 
    [toolbar setItems:items]; 
} 
[menuButtonItem release]; 
[items release]; 
+0

ありがとう、ええそれは本当に空ですが、少なくとも何も画面に表示されないため、空であるようです。どうやって普通にやるの?私はIBとsplitVCを設定し、viewControllerは表示されますが、ツールバーは表示されません... – Paul

+0

'self.navigationController.navigationBar.hidden = YES;'または 'toolbar.hidden = YES;' ' - (void)viewWillAppear:(BOOL)animated'メソッドで宣言します。 – chown

+0

大丈夫私はビューに自分自身を間違いなくツールバーを置く必要がありました。ご協力いただきありがとうございます! – Paul

関連する問題