2

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

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 的任何其他部分,这个显示的弹出窗口正在关闭。谁能告诉我如何避免这个问题。我不想在任何时候解雇它。谁能告诉我怎么做。

4

2 回答 2

7

在弹出框的委托(可能是您的 viewController)中,实现

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

不要忘记设置委托!

于 2011-06-23T14:20:58.760 回答
1

刚刚在弹出框初始化时编写了以下代码。

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

在上面的代码中不会关闭您的 popOver,我们可以使用我们的视图。

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

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

于 2011-06-23T21:33:01.830 回答