2012-01-12 18 views
3

以下のメソッドは、ナビゲーションバーボタンに関連付けられています。ボタンが押されると、それは私が何をしたいのかUIPopoverController単一のアクションメソッドで単一のボタンを使用してUIPopoverControllerを表示/非表示にする方法

- (IBAction) showTablePopUp:(id) sender { 

if (self.tablesPopoverController == nil) { 

    TablesPopOverViewController *tables = [[TablesPopOverViewController alloc]initWithNibName:@"TablesPopOverViewController" bundle:[NSBundle mainBundle]]; 

    UIPopoverController *popover = [[UIPopoverController alloc] initWithContentViewController:tables]; 

    popover.delegate = self; 
    popover.popoverContentSize=CGSizeMake(280.0, 327.0); 
    [tables release]; 

    self.tablesPopoverController = popover; 
    [popover release]; 
} 

[self.tablesPopoverController presentPopoverFromBarButtonItem:sender permittedArrowDirections:UIPopoverArrowDirectionAny animated:YES]; 


} 

を示してボタンを二回押したときにポップオーバーを隠している:

  1. クリック - ショーポップオーバー
  2. クリックして - ポップオーバーを非表示にする

どうすればいいですか?これは、あなたが欲しいものを行う必要があります

答えて

6

- (IBAction) showTablePopUp:(id) sender { 
    if (self.tablesPopoverController == nil) { 

     TablesPopOverViewController *tables = [[TablesPopOverViewController alloc]initWithNibName:@"TablesPopOverViewController" bundle:[NSBundle mainBundle]]; 

     UIPopoverController *popover = [[UIPopoverController alloc] initWithContentViewController:tables]; 

     popover.delegate = self; 
     popover.popoverContentSize=CGSizeMake(280.0, 327.0); 
     [tables release]; 

     self.tablesPopoverController = popover; 

     [self.tablesPopoverController presentPopoverFromBarButtonItem:sender 
      permittedArrowDirections:UIPopoverArrowDirectionAny animated:YES]; 

    } else { 
     [self.tablesPopoverController dismissPopoverAnimated: YES]; 
     self.tablesPopeverController = nil; 
    } 
} 
+0

おかげで多くのことを、私はブール値でめちゃくちゃしている.... – sajaz

関連する問題