2013-04-05 23 views
1

我使用顯示酥料餅 - 「presentPopoverFromBarButtonItem」 - 之後,當我點擊其他欄按鈕項目酥料餅不會解僱在右側導航欄按鈕中。酥料餅的控制器不排除當點擊其它欄按鈕,但解僱時點擊另一個按鈕(或外酥料餅)

但駁回酥料餅當我點擊其他地方。 同樣的問題是不存在的時候,我們表明酥料餅的使用 - 「presentPopoverFromRect:inView:」 - 奇怪?

由於我們沒有得到的UIBarButtonItem框架我該如何正確的barbutton顯示酥料餅。

感謝,

回答

1

回答我的問題,以幫助一些之一,

// Presenting from BarButton will not dismiss popover when we click on other bar button. 
// [self.popoverController presentPopoverFromBarButtonItem:self.barButton permittedArrowDirections:UIPopoverArrowDirectionAny animated:YES]; 

NSMutableArray* buttons = [[NSMutableArray alloc] init]; 
for (UIView *subview in self.navigationController.navigationBar.subviews) { 
    if ([subview isKindOfClass:[UIControl class]]) { 
     [buttons addObject:subview]; 
    } 
} 

UIView *view = [buttons objectAtIndex:1]; // The '1' is the index to your bar item in the array of .items 

CGRect barButtonFrame = [self.navigationController.navigationBar convertRect:view.frame toView:self.navigationController.view]; 
[self.popoverController presentPopoverFromRect:barButtonFrame inView:self.navigationController.view permittedArrowDirections:UIPopoverArrowDirectionUp animated:YES]; 

我上面所做的是找到欄按鈕和顯示酥料餅「presentPopoverFromRect」的框架。

0

我也沒有,不管你用筆尖或廈門國際銀行在酥料餅的控制器或沒有,但讓嘗試下面的代碼

if (_Popover != nil) { 
     [_Popover dismissPopoverAnimated:YES]; 
    } 
    else { 
     [_Popover dismissPopoverAnimated:NO]; 
    } 
+0

但是我在我的情況下,有5 barbutton運用不同的酥料餅的實例。現在我解決了這個問題。但爲什麼這兩種表示方法的行爲不同。 – 2013-04-05 06:55:52