VC2라는 뷰 컨트롤러 클래스의 인스턴스가 있다고 가정 해 보겠습니다. VC2에는 자동으로 해제되는 "취소"버튼이 있습니다. 하지만 "취소"버튼이 트리거되면 콜백을 감지하거나 수신 할 수 없습니다. VC2는 블랙 박스입니다.
뷰 컨트롤러 (VC1이라고 함)는 presentViewController:animated:completion:
메서드를 사용하여 VC2를 표시 합니다.
VC2가 해제되었을 때 VC1이 감지해야하는 옵션은 무엇입니까?
편집 : @rory mckinnel의 의견과 @NicolasMiari의 답변에서 다음을 시도했습니다.
VC2에서 :
-(void)cancelButton:(id)sender
{
[self dismissViewControllerAnimated:YES completion:^{
}];
// [super dismissViewControllerAnimated:YES completion:^{
//
// }];
}
VC1에서 :
//-(void)dismissViewControllerAnimated:(BOOL)flag completion:(void (^)(void))completion
- (void)dismissViewControllerAnimated:(BOOL)flag
completion:(void (^ _Nullable)(void))completion
{
NSLog(@"%s ", __PRETTY_FUNCTION__);
[super dismissViewControllerAnimated:flag completion:completion];
// [self dismissViewControllerAnimated:YES completion:^{
//
// }];
}
그러나 dismissViewControllerAnimated
VC1에서 호출되지 않았습니다.