2012-03-19 2 views
1

のuibarbuttonitemするカスタムビューの追加:MultipleDetailViews 2つの詳細ビューコントローラでUIPopOverControllerを使用する方法を示し、私はsplitViewControllerに存在しbarButtonItemにカスタムビューを追加する方法を見つけ出すことはできませんデリゲートメソッド:リンゴの例を読んだ後にポップオーバー

-(void)splitViewController:(UISplitViewController*)svc willHideViewController: (UIViewController *)aViewController withBarButtonItem:(UIBarButtonItem*)barButtonItem forPopoverController:(UIPopoverController*)pc { 

    self.popoverController = pc; 
    barButtonItem.text = @"root view controller"; 
    self.rootPopoverButtonItem = barButtonItem; 

    UIViewController <SubstitutableDetailViewController> *detailViewController = [mySplitViewController.viewControllers objectAtIndex:0]; 
    [detailViewController showRootPopoverButtonItem:self.rootPopoverButtonItem]; 
} 

ポップオーバーボタンがデフォルトの形でうまく動作しますが、私はこのような何かしようとすると:

UIButton *button = [UIButton buttonWithType:UIButtonTypeCustom]; 
UIImage *customImage = [UIImage imageNamed:@"popOver.png"]; 
[button setBackgroundImage: [UIImage imageNamed:@"popOver.png"] forState:UIControlStateNormal]; 
button.frame= CGRectMake(0.0, 0.0, customImage.size.width, customImage.size.height); 
[button addTarget:self action:@selector(???) forControlEvents:UIControlEventTouchUpInside]; 
barButtonItem.customView = button; 

を、私は、このボタンの選択が何であるかを知りませんポップオーバーが正しく表示されるようになると、私のポップオーバーはセレクタなしでUISplitViewControllerのデリゲートメソッドを使ってうまくいきます。

答えて

5

なぜ画像ビューの代わりにボタンボタンアイテムにボタンを追加していますか?画像ビューを使用する(またはボタンのユーザー操作を無効にする)と、アプリケーションはバーボタン項目セレクターとターゲットを使用します。

あなたはまだ別のボタンを使用する場合は、何を行うことができますことは次のとおりです。

[button addTarget:barButtonItem.target action:barButtonItem.action forControlEvents:UIControlEventTouchUpInside]; 

これはデフォルトのバーボタンアイテムのターゲットとアクションをコピーします。

+0

ありがとう、偉大な答えです。 – JAHelia

関連する問題