Это заставляет меня почесывать голову. У меня есть контроллер представления, реализующий 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
. HOWEVER, методы делегата popoverViewController
, которые я реализовал, никогда не вызываются.
Любые идеи?
Редактировать: Примечание. Я использую ARC & LLVM.
Правильно ли отображается popover? – timthetoolman
Да - отображается правильно, & увольнение - просто не вызывая методы делегата. –