当我触摸任何视图时,我不想忽略弹出控制器。可能吗? 我正在使用以下代码来显示弹出控制器。
UIPopoverController* popoverCamera;
popoverCamera= [[UIPopoverController alloc] initWithContentViewController:videoRecorder];
[popoverCamera presentPopoverFromRect:CGRectMake(cropRectangleButton.frame.origin.x,cropRectangleButton.frame.origin.y,0,0) inView:innerview permittedArrowDirections:UIPopoverArrowDirectionUp animated:YES];
NSLog(@"start recording-->%d",[videoRecorder startVideoCapture]);
[videoRecorder startVideoCapture];
[self presentModalViewController:videoRecorder animated:YES];
[videoRecorder release];
答案 0 :(得分:3)
是的,这是可能的。实现以下委托方法:
- (BOOL)popoverControllerShouldDismissPopover:(UIPopoverController *)popoverController
{
return NO;
}
希望这对你有所帮助。
答案 1 :(得分:1)
来自链接disable dismissal of uipopoverview controller
显示时,弹出窗口外部的水龙头会自动解除弹出窗口。要允许用户与指定视图交互而不关闭弹出框,可以将一个或多个视图分配给passthroughViews属性。弹出窗口内的点击不会自动导致弹出窗口被解除。您的视图和视图控制器代码必须显式处理popover中的操作和事件,并根据需要调用dismissPopoverAnimated:方法。
答案 2 :(得分:0)
实现pop over delegate
/* Called on the delegate when the popover controller will dismiss the popover. Return NO to prevent the dismissal of the view.
*/
- (BOOL)popoverControllerShouldDismissPopover:(UIPopoverController *)popoverController;
答案 3 :(得分:0)
func popoverShouldClose(_ popover: NSPopover) -> Bool { 返回假 }
答案 4 :(得分:-3)
尝试这个你不想解雇popUp的地方: -
[popOverController dismissPopoverAnimated:NO];
希望这会有所帮助:)