ボタン付きの画面があります。ボタンをクリックすると、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されており、まあ、それは私を少し夢中にさせます。