UIPopoverController 委托委托方法未被调用
Posted
技术标签:
【中文标题】UIPopoverController 委托委托方法未被调用【英文标题】:UIPopoverControllerDelegate delegate methods not being called 【发布时间】:2013-04-16 17:03:43 【问题描述】:我有一个带按钮的屏幕。单击该按钮将显示一个带有两个按钮的弹出框。当弹出框被解除时,我希望能够使用以下方法:
#pragma mark - UIPopoverControllerDelegate
- (void)popoverControllerDidDismissPopover:(UIPopoverController *)popoverController
NSLog(@"OrderViewController.m -popoverControllerDidDismissPopover start");
弹出视图有自己的类:
#import <UIKit/UIKit.h>
#import "MenuItemModel.h"
@interface SelectedItemsOptionsViewController : UIViewController
@property (weak) id <UIPopoverControllerDelegate> delegate;
@property (strong, nonatomic) MenuItemModel *item;
@end
创建弹出框的类有:
@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】:我可能在这里误解了一些东西,但看起来您正在为 UIViewController 类分配委托,但是您在情节提要中的哪里分配 popOver 其委托?
【讨论】:
以上是关于UIPopoverController 委托委托方法未被调用的主要内容,如果未能解决你的问题,请参考以下文章
用 -dismissPopoverAnimated 解散 UIPopoverController:不会调用委托?
UIPopoverController 委托未在解雇时被调用