Итак, вот что мы сделали.
Поскольку контроллер представления, управляющий листом формы (B) , получает get -viewDidDisappear
, мы просто добавляем контроллер представления (A) в качестве делегата, который мы затем уведомляем вручную, когда -viewDidDisappear
вызывается на (B) контроллере представления.
Определение делегата выглядит так:
@protocol FormSheetViewControllerDelegate
- (void)formSheetViewDidDisappear;
@end
Мы добавляем делегата в FormSheetViewController:
@interface FormSheetViewController
@property (nonatomic, assign) id <FormSheetViewControllerDelegate>
@end
И мы вызываем -formSheetViewDidDisappear
из FormSheetViewController:
@implementation FormSheetViewController
- (void)viewDidDisappear:(BOOL)animated {
[registerViewControllerDelegate registerViewControllerDidDisappear];
}
@end
P.S:.
Начиная с iOS 5 и блоков, UIViewController имеет метод
- (void)dismissViewControllerAnimated:(BOOL)flag completion:(void (^)(void))completion
Которые вы могли бы использовать, чтобы отреагировать на отклонение представления листа формы.