永远不会调用UIPopoverControllerDelegate方法
这让我挠了挠头。我有一个实现UIPopoverControllerDelegate
视图控制器:永远不会调用UIPopoverControllerDelegate方法
@interface MyViewController : UIViewController<UIPopoverControllerDelegate> {
它实现在该协议的方法,像这样:
- (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
而非 - (布尔)popoverControllerShouldDismissPopover
和
- (void)popoverControllerDidDismissPopover:(UIPopoverController *)popoverController
而不是
- (void)popoverControllerDidDismissPopover
您获得方法名和参数是否正确是非常重要的,否则他们不会被叫。
祝你好运!
啊......是的,就是这样。啊,找出答案的乐趣很简单,你忽略了... – 2012-01-08 03:14:08
不用担心。有时它只需要另一双眼睛! – timthetoolman 2012-01-08 04:06:30
弹出窗口是否正确显示? – timthetoolman 2012-01-07 21:01:32
是的 - 它正确显示和解雇 - 只是不调用委托方法。 – 2012-01-07 22:34:51