【问题标题】:UIPopoverControllerDelegate delegate methods not being calledUIPopoverController 委托委托方法未被调用
【发布时间】: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 ,这让我有点抓狂。

【问题讨论】:

  • 你是如何关闭你的弹出框的?
  • 只需点击屏幕上未被弹出窗口覆盖的任何位置。 (我不是以编程方式进行的,我读到这不会称为解雇)
  • 同样的问题。解决了吗?

标签: objective-c delegates uipopovercontroller popover dismiss


【解决方案1】:

我可能在这里误解了一些东西,但看起来您正在为 UIViewController 类分配委托,但是您在情节提要中的哪里分配 popOver 其委托?

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-07-02
    • 1970-01-01
    • 1970-01-01
    • 2011-08-12
    相关资源
    最近更新 更多