Ipad 从未调用UIPopoverControllerDelegate方法

Ipad 从未调用UIPopoverControllerDelegate方法,ipad,uipopovercontroller,Ipad,Uipopovercontroller,这让我抓狂。我有一个视图控制器,它实现了UIPopoverControllerDelegate: @interface MyViewController : UIViewController<UIPopoverControllerDelegate> { 我创建了要在popover中显示的视图控制器和popover控制器,如下所示: - (bool)popoverControllerShouldDismissPopover { NSLog(@"THIS IS NEVER CA

这让我抓狂。我有一个视图控制器,它实现了
UIPopoverControllerDelegate

@interface MyViewController : UIViewController<UIPopoverControllerDelegate> {
我创建了要在popover中显示的视图控制器和popover控制器,如下所示:

- (bool)popoverControllerShouldDismissPopover
{
    NSLog(@"THIS IS NEVER CALLED");    
    return true;
}

- (void)popoverControllerDidDismissPopover
{
    NSLog(@"THIS IS ALSO NEVER CALLED");
}
-(IBAction)buttonPress:(id)sender
{
    self.popoverViewController = [[MyPopoverViewController alloc] init];
    self.popover = [[UIPopoverController alloc] initWithContentViewController:popoverViewController];
    self.popover.delegate = self;

    CGRect frame = button.frame;
    [self.popover presentPopoverFromRect:frame inView:self.view permittedArrowDirections:UIPopoverArrowDirectionAny animated:YES];
}
我很清楚地设置了
popover.delegate=self
。但是,从未调用我实现的
popoverViewController
委托方法

有什么想法吗


编辑:注意,我使用的是ARC&LLVM。

我认为您的委托方法实现不正确。试一试

- (BOOL)popoverControllerShouldDismissPopover:(UIPopoverController *)popoverController
而不是 -(bool)PopOver控制器应为PopOver

而不是

- (void)popoverControllerDidDismissPopover
方法名和参数必须正确,否则将无法调用


祝你好运

我认为您的委托方法实现不正确。试一试

- (BOOL)popoverControllerShouldDismissPopover:(UIPopoverController *)popoverController
而不是 -(bool)PopOver控制器应为PopOver

而不是

- (void)popoverControllerDidDismissPopover
方法名和参数必须正确,否则将无法调用


祝你好运

popover是否正确显示?是-它正确显示并解除-只是没有调用委托方法。popover是否正确显示?是-它正确显示并解除-只是没有调用委托方法。啊哈。。。是的,就是这样。啊,找到答案的乐趣很简单,你忽略了……不用担心。有时候只需要一双眼睛!啊。。。是的,就是这样。啊,找到答案的乐趣很简单,你忽略了……不用担心。有时候只需要一双眼睛!