UIPopoverControllerDelegate委托方法未被调用

时间:2013-04-16 17:03:43

标签: objective-c delegates uipopovercontroller popover dismiss

我有一个带按钮的屏幕。单击该按钮将显示带有两个按钮的弹出窗口。我希望能够在解除弹出窗口时使用以下方法:

#pragma mark - UIPopoverControllerDelegate
- (void)popoverControllerDidDismissPopover:(UIPopoverController *)popoverController {
NSLog(@"OrderViewController.m -popoverControllerDidDismissPopover start");
}

popover视图有自己的类:

#import <UIKit/UIKit.h>
#import "MenuItemModel.h"

@interface SelectedItemsOptionsViewController : UIViewController
@property (weak) id <UIPopoverControllerDelegate> delegate;
@property (strong, nonatomic) MenuItemModel *item;

@end

创建popover的类有:

@interface OrderViewController : UIViewController <PageViewControllerDelegate,                                        
UITableViewDataSource, UITableViewDelegate, ServiceConnectorDelegate,
UIPopoverControllerDelegate>

所以OrderViewController - 想知道SelectedItemsOptionsViewController何时被解雇。

我声明了方法(第一个代码块),我将委托设置为:

SelectedItemsOptionsViewController *destViewController = (SelectedItemsOptionsViewController *)segue.destinationViewController;

popSegue = (UIStoryboardPopoverSegue *)segue;

[destViewController setDelegate:self];
destViewController.item = toDisplay;

所以我设置委托OK就我所知......委托属性在SelectedItemsOptionsViewController.m中是@syntheized,好吧,它让我有点疯狂。

1 个答案:

答案 0 :(得分:0)

我可能在这里误解了一些东西,但看起来你正在为UIViewController类分配委托,但是你在哪里为故事板分配popOver它的委托?