1

ボタン付きの画面があります。ボタンをクリックすると、2 つのボタンがあるポップオーバーが表示されます。ポップオーバーが閉じられたときに次のメソッドを使用できるようにしたい:

#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されており、まあ、それは私を少し夢中にさせます。

4

1 に答える 1