objective-c多视角控制器
我在UIView中有多个popovercontroller。 我可以为一个popover调用PopOvercontrollerdDismissPopover方法,但无法为所有PopOvercontroller调用相同的方法objective-c多视角控制器,objective-c,uipopovercontroller,Objective C,Uipopovercontroller,我在UIView中有多个popovercontroller。 我可以为一个popover调用PopOvercontrollerdDismissPopover方法,但无法为所有PopOvercontroller调用相同的方法 有人能给我建议一下,我怎样才能做到这一点?你能打电话是什么意思?您是否将UIPopoverController子类化,并自己调用该方法 如果你的意思是“当我的爆米花被丢弃时,它不会被调用”,那么我们需要更多的信息。在某些情况下,这是特定的行为。让我引用文件中的话: popov
有人能给我建议一下,我怎样才能做到这一点?你能打电话是什么意思?您是否将UIPopoverController子类化,并自己调用该方法 如果你的意思是“当我的爆米花被丢弃时,它不会被调用”,那么我们需要更多的信息。在某些情况下,这是特定的行为。让我引用文件中的话: popover控制器不调用此方法来响应对
dismissPopoOveranimated:
方法的编程调用。如果以编程方式取消popover,则应在调用dismissPopoverAnimated:
方法后立即执行任何清理操作
如果您有多个弹出窗口,并且想知道哪一个刚刚被取消,那么您必须在方法本身中进行比较
根据您的评论进行编辑:
该方法始终称为popcovercontrollerdiddismisspover:(uipopcovercontroller*)popcovercontroller
。此方法由用户拒绝的任何popover触发。如果有两个不同的弹出窗口需要不同的终结,则必须在此方法中区分它们。这就是为什么它有一个参数,在该参数中,popover将self
,一个指向自身的指针
您的方法应如下所示:
popoverControllerDidDismissPopover:(UIPopoverController *)popoverController
{
if (popoverController == myFirstPopoverController)
{
//do something
}
if (popoverController == mySecondPopoverController)
{
//do something else
}
}
我有两个PopoverViewController实例(firstPopover和secondpopover)。当第一个Popover和第二个Popover被解除时,我需要执行一些操作。如果我已经创建了PopoverViewController的popover命名实例,则-(void)PopOvercontrollerdDismissController可以工作,但当我写入-(void)FirstPopOvercontrollerdDismissController时无法工作。我尝试了您建议的代码,但PopOvercontrollerdDismissPover方法根本没有控制。我正在执行NSLOG(@“第一个Popover解除”)NSLOG(@“第二个Popover解除”)NSLOG(@“第三个Popover解除”)当爆米花流行起来dismissed@krishna您是否已将viewController设置为弹出窗口的代理?@krishna然后我不确定出了什么问题,如果没有更多的代码,我就无法判断。UIPopoverController的每个实例在其代理被用户解除时调用此方法(但在以编程方式解除时除外)。