Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add setModalInPresentation method for UINavigationController #1228

Open
jdnichollsc opened this issue Nov 14, 2019 · 4 comments
Open

Add setModalInPresentation method for UINavigationController #1228

jdnichollsc opened this issue Nov 14, 2019 · 4 comments

Comments

@jdnichollsc
Copy link

I'm trying to call this method from a plugin but it throws an exception:

const safariHackVC = UINavigationController.alloc().initWithRootViewController(self.safariVC);
safariHackVC.presentationController.delegate = self;
if (ios.MajorVersion >= 13) {
  safariHackVC['setModalInPresentation'](true); //throws an exception
}

Any help is really appreciated 👍

@mbektchiev
Copy link
Contributor

Hi @jdnichollsc, you are correct. The native Objective-C code that you've found directly calls the setter function of the property. In NativeScript however, the setter is not exposed and what you need to do is use the property itself like this: safariHackVC.modalInPresentation = true;

@jdnichollsc
Copy link
Author

Yes sir, in the meantime I'm using that property but it looks not working as expected (I can close the modal with a swipe back gesture) https://github.com/proyecto26/nativescript-inappbrowser/blob/master/src/InAppBrowser.ios.ts#L138

@mbektchiev
Copy link
Contributor

To see whether the problem is with the iOS runtime and the setter, I can suggest that you log the property before and after setting it. I believe that it should be correctly assigned.

Are you sure that the swipe back gesture should be disabled with modalInPresentation? From its description (When you set it to YES, UIKit ignores events outside the view controller's bounds and prevents the interactive dismissal of the view controller while it is onscreen.) I'm not quite sure I'd anticipate this...

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants