2011-06-23 57 views
2

我用这下面的代码在我看来,以显示酥料饼不想解雇UIPopover

imagePopOver = [[UIPopoverController alloc]; 
initWithContentViewController:self.photoLibraryImageCollection.imagePickerController]; 
imagePopOver.popoverContentSize = CGSizeMake(185,675); 
imagePopOver.delegate = self; 
[imagePopOver presentPopoverFromRect:CGRectMake(600,0, 140, 800) 
           inView:self.view 
      permittedArrowDirections:UIPopoverArrowDirectionLeft animated:YES]; 

它的工作但罚款,如果我们点击MyView的任何其他部分,这显示酥料饼是dismissing.can任何一个告诉我如何避免这个问题。我不想在任何时候解雇它。任何人都可以告诉我该怎么做。

回答

7

在酥料饼的代表(你的viewController,可能),实现

- (BOOL)popoverControllerShouldDismissPopover:(UIPopoverController *)popoverController { 
    return NO; 
} 

不要忘记设置委托!

+0

谢谢..... working.i可以在5分钟后才能接受您的答案,并且我也可以知道如何从中删除箭头。 – Christina

+0

我遇到了这些代表的问题。 我无法在我的View中执行任何操作或任何进程后,我实现了这个委托。 所以我很烦恼这个问题。我怎么能避免这个问题与显示我的UIpopover.can任何一个请告诉我..... – Christina

+0

只是写下面的答案做到这一点... – Christina

1

在popover初始化时只写了下面的代码。

myPopOver.passthroughViews = [NSArray arrayWithObject:self.view];

在上面的代码不会解雇你的popOver,我们可以使用我们的视图。

如果你不想只在一个文本框编辑的时间辞退UIpopover,简单的写

myPopOver.passthroughViews = [NSArray的arrayWithObject:self.textBox]。