@@ -132,6 +132,8 @@ - (void)viewDidLoad {
132
132
ApptentiveProgressNavigationBar *navigationBar = (ApptentiveProgressNavigationBar *)self.navigationController .navigationBar ;
133
133
134
134
navigationBar.progressView .hidden = YES ;
135
+
136
+ self.navigationController .presentationController .delegate = self;
135
137
}
136
138
137
139
- (void )dealloc {
@@ -657,23 +659,21 @@ - (BOOL)textFieldShouldReturn:(UITextField *)textField {
657
659
return NO ;
658
660
}
659
661
660
- #pragma mark - Actions
661
-
662
- - (IBAction )dismiss : (id )sender {
663
- [self .attachmentController resignFirstResponder ];
662
+ #pragma mark - Presentation Controller delegate
664
663
665
- [self saveDraft ];
664
+ - (void )presentationControllerDidDismiss : (UIPresentationController *)presentationController {
665
+ [self startDismissal ];
666
+ [self completeDismissal ];
667
+ ApptentiveLogInfo (@" Presentation Controller did dismiss" );
668
+ }
666
669
667
- [self .viewModel stop ];
668
670
669
- UIViewController *presentingViewController = self. presentingViewController ;
671
+ # pragma mark - Actions
670
672
671
- [self dismissViewControllerAnimated: YES
672
- completion: ^{
673
- [Apptentive.shared.backend engage: ATInteractionMessageCenterEventLabelClose fromInteraction: self .viewModel.interaction fromViewController: presentingViewController];
674
- }];
673
+ - (IBAction )dismiss : (id )sender {
674
+ [self startDismissal ];
675
675
676
- self. interactionController = nil ;
676
+ [ self dismissViewControllerAnimated: YES completion: ^{ [ self completeDismissal ]; }] ;
677
677
}
678
678
679
679
- (IBAction )send : (id )sender {
@@ -843,6 +843,18 @@ - (void)observeValueForKeyPath:(nullable NSString *)keyPath ofObject:(nullable i
843
843
844
844
#pragma mark - Private
845
845
846
+ - (void )startDismissal {
847
+ [self .attachmentController resignFirstResponder ];
848
+ [self saveDraft ];
849
+ [self .viewModel stop ];
850
+ }
851
+
852
+ - (void )completeDismissal {
853
+ [Apptentive.shared.backend engage: ATInteractionMessageCenterEventLabelClose fromInteraction: self .viewModel.interaction fromViewController: self .presentingViewController];
854
+
855
+ self.interactionController = nil ;
856
+ }
857
+
846
858
- (void )updateStatusOfVisibleCells {
847
859
NSMutableArray *indexPathsToReload = [NSMutableArray array ];
848
860
for (UITableViewCell *cell in self.tableView .visibleCells ) {
0 commit comments