2012-04-30 40 views
1

当我触摸任何视图时,我不想关闭弹出窗口控制器。可能吗? 我正在使用以下代码来显示弹出窗口控制器。如何防止解散popover控件?

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]; 

回答

1

从链路disable dismissal of uipopoverview controller

显示时,敲击酥料饼的窗口之外导致酥料饼被自动解除。要允许用户与指定的视图进行交互但不关闭弹出窗口,可以将一个或多个视图分配给passthroughViews属性。弹出窗口内的点击不会自动导致弹出窗口被解除。您的视图和视图控制器代码必须明确处理弹出窗口中的动作和事件,并根据需要调用dismissPopoverAnimated:方法。

+0

谢谢..它的工作..更重要的是我了解这个概念。 –

+0

欢迎@komalmehta – akk

0

实施弹出了委托

/* 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; 
+0

我知道这个方法。但当我触摸任何视图时,我不想忽略弹出窗口。 –

+0

在这种方法中返回NO,它不会放弃弹出。 – vishy

3

是的,它是可能的。实施以下代理方法:

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

希望这可能会对您有所帮助。

-3

试试这个,你不想解聘弹出: -

[popOverController dismissPopoverAnimated:NO]; 

希望这有助于:)

+0

不,这忽略了popover,但没有动画。 – Donkey