Ios 如何防止UIPopoverPresentationController在单击popover外部时被解除?

Ios 如何防止UIPopoverPresentationController在单击popover外部时被解除?,ios,objective-c,uipopovercontroller,Ios,Objective C,Uipopovercontroller,在我的通用iOS 8应用程序中,我正在使用UIPopoverPresentationController演示一个popover,如下所示,从PrepareForegue: FavoriteNameViewController *nameVC = segue.destinationViewController; UIPopoverPresentationController *popPC = nameVC.popoverPresentationController; popPC.delegate

在我的通用iOS 8应用程序中,我正在使用
UIPopoverPresentationController
演示一个popover,如下所示,从
PrepareForegue

FavoriteNameViewController *nameVC = segue.destinationViewController;
UIPopoverPresentationController *popPC = nameVC.popoverPresentationController;
popPC.delegate = self;
并使用此委托方法

- (UIModalPresentationStyle)adaptivePresentationStyleForPresentationController:(UIPresentationController *)controller {
return UIModalPresentationNone;
}
在这个特殊的例子中,我展示了一个视图控制器,它看起来像一个警报,但实际上不是

现在我的问题是,用户可以点击这个popover之外的内容,它就会被忽略。这并没有什么真正的问题,只是警报不是这样工作的,我想让它模拟警报


我看到
UIPopoverControllerDelegate
有一个名为
popOvercontrollersoulddismisspover:
的方法,但是
UIPopoverPresentationControllerDelegate
没有这个方法,我相信我需要使用后者。

在您看来,尝试以下方法

-(BOOL)pointInside:(CGPoint)point withEvent:(UIEvent *)event{
    return YES;
}

您需要将popover控制器的
passthroughview
设置为
nil
,并将视图控制器的
modalInPopover
设置为YES>。

我们现在可以谈谈(您在前面的问题中拒绝做什么)为什么不使用显示视图来实现此目的吗?为什么不像我在这里做的那样:创建一个看起来和行为都像警报视图的显示视图这也解决了iPhone 6 plus上的popover不是横向popover的问题。我之所以选择这种方式,是因为当我搜索如何呈现popover时,我找到了这种方法。我会查看你的项目,以便更好地了解你在说什么。非常感谢。