Skip to content

Commit

Permalink
fix(ios): close window handling from presentationController’s delegat…
Browse files Browse the repository at this point in the history
…e method (#11256)
  • Loading branch information
vijaysingh-axway authored and ssekhri committed Oct 3, 2019
1 parent 057dad3 commit 40154d7
Show file tree
Hide file tree
Showing 4 changed files with 35 additions and 2 deletions.
Expand Up @@ -40,6 +40,8 @@
- (void)viewWillDisappear:(BOOL)animated;
- (void)viewDidAppear:(BOOL)animated;
- (void)viewDidDisappear:(BOOL)animated;
- (void)presentationControllerDidDismiss:(UIPresentationController *)presentationController;
- (void)presentationControllerWillDismiss:(UIPresentationController *)presentationController;

- (void)preferredContentSizeDidChangeForChildContentContainer:(id<UIContentContainer>)container;
- (void)viewWillTransitionToSize:(CGSize)size withTransitionCoordinator:(id<UIViewControllerTransitionCoordinator>)coordinator;
Expand Down
Expand Up @@ -8,7 +8,7 @@
#import "TiControllerProtocols.h"
#import <UIKit/UIKit.h>

@interface TiViewController : UIViewController {
@interface TiViewController : UIViewController <UIAdaptivePresentationControllerDelegate> {

TiViewProxy *_proxy;
TiOrientationFlags _supportedOrientations;
Expand Down
17 changes: 17 additions & 0 deletions iphone/TitaniumKit/TitaniumKit/Sources/API/TiViewController.m
Expand Up @@ -14,6 +14,7 @@ - (id)initWithViewProxy:(TiViewProxy *)window
{
if (self = [super init]) {
_proxy = window;
self.presentationController.delegate = self;
[self updateOrientations];
[TiUtils configureController:self withObject:_proxy];
}
Expand Down Expand Up @@ -167,6 +168,22 @@ - (void)viewDidDisappear:(BOOL)animated
[super viewDidDisappear:animated];
}

#if __IPHONE_OS_VERSION_MAX_ALLOWED >= 130000
- (void)presentationControllerWillDismiss:(UIPresentationController *)presentationController
{
if ([_proxy conformsToProtocol:@protocol(TiWindowProtocol)]) {
[(id<TiWindowProtocol>)_proxy presentationControllerWillDismiss:presentationController];
}
}

- (void)presentationControllerDidDismiss:(UIPresentationController *)presentationController
{
if ([_proxy conformsToProtocol:@protocol(TiWindowProtocol)]) {
[(id<TiWindowProtocol>)_proxy presentationControllerDidDismiss:presentationController];
}
}
#endif

- (void)viewWillTransitionToSize:(CGSize)size withTransitionCoordinator:(id<UIViewControllerTransitionCoordinator>)coordinator
{
if ([_proxy conformsToProtocol:@protocol(TiWindowProtocol)]) {
Expand Down
16 changes: 15 additions & 1 deletion iphone/TitaniumKit/TitaniumKit/Sources/API/TiWindowProxy.m
Expand Up @@ -741,7 +741,21 @@ - (void)viewDidAppear:(BOOL)animated
}
- (void)viewDidDisappear:(BOOL)animated
{
if (isModal && (closing || !forceModal)) {
if (isModal && closing) {
[self windowDidClose];
}
}

- (void)presentationControllerWillDismiss:(UIPresentationController *)presentationController
{
if (isModal) {
[self windowWillClose];
}
}

- (void)presentationControllerDidDismiss:(UIPresentationController *)presentationController
{
if (isModal) {
[self windowDidClose];
}
}
Expand Down

0 comments on commit 40154d7

Please sign in to comment.