不想解雇UIPopover

时间:2011-06-23 14:17:16

标签: objective-c xcode ipad uipopovercontroller dismiss

我正在使用以下代码在我的视图中显示一个弹出框

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的任何其他部分,这个显示的popover就是dismissing.can任何人告诉我如何避免这个问题。我不想随时解雇它。任何人都告诉我怎么做。

2 个答案:

答案 0 :(得分:7)

在popover的委托(可能是你的viewController)中,实现

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

不要忘记设置代理!

答案 1 :(得分:1)

刚刚在popover初始化时编写了以下代码。

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

上面代码中的

不会关闭你的popOver,我们可以使用我们的View。

如果您不想仅在文本框编辑时关闭UIpopover,只需编写

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