You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@cordova.apache.org by "Oliver Weiss (JIRA)" <ji...@apache.org> on 2017/04/11 15:39:41 UTC

[jira] [Commented] (CB-12586) [iOS] Method hide doesn't works

    [ https://issues.apache.org/jira/browse/CB-12586?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15964532#comment-15964532 ] 

Oliver Weiss commented on CB-12586:
-----------------------------------

Hey, 
I have the same issue with multiple iPads. I am not experienced with Cordova Plugins. I am using the newest version of InAppBrowser (1.7.0) now. But they did not fix this. 

I changed the hide function in the CDVInAppBrowser.m to the following, but the ref.hide() is still not working. Can you tell me, if I did something wrong? This is a major problem for me right now :( I need to hide the InAppBrowser to work with a camera plugin. Another possibility would be to make the InAppBrowser transparent. But I have no idea how to make this work. So I need the hide() function to work... 

Thanks for the help!

{code}
- (void)hide:(CDVInvokedUrlCommand*)command
{
    if (self.inAppBrowserViewController == nil) {
        NSLog(@"Tried to hide IAB after it was closed.");
        return;


    }
    if (_previousStatusBarStyle == -1) {
        NSLog(@"Tried to hide IAB while already hidden");
        return;
    }

 dispatch_async(dispatch_get_global_queue( DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{
        if (weakSelf.inAppBrowserViewController != nil) {
            _previousStatusBarStyle = -1;
            [weakSelf.viewController dismissViewControllerAnimated:YES completion:nil];
            // I have added this line in order to hide the webview
            [weakSelf.inAppBrowserViewController dismissViewControllerAnimated:YES completion:nil];
        }
    });
}
{code}

> [iOS] Method hide doesn't works
> -------------------------------
>
>                 Key: CB-12586
>                 URL: https://issues.apache.org/jira/browse/CB-12586
>             Project: Apache Cordova
>          Issue Type: Bug
>          Components: Plugin InAppBrowser
>    Affects Versions: 1.7.0
>         Environment: I have tested on the iPhone 7 with iOS 10.2.1 and the iPhone 6 Plus with iOS 10.2
>            Reporter: Roberto Orden Erena
>
> I have using the `hide()` method in order to hide the webview window when the mobile hasn't wifi connection, in Android works fine, but in iOS not.
> My temporal solution for this is:
> {code}
>  // Run later to avoid the "took a long time" log message.
>     dispatch_async(dispatch_get_global_queue( DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{
>         if (weakSelf.inAppBrowserViewController != nil) {
>             _previousStatusBarStyle = -1;
>             [weakSelf.viewController dismissViewControllerAnimated:YES completion:nil];
>             // I have added this line in order to hide the webview
>             [weakSelf.inAppBrowserViewController dismissViewControllerAnimated:YES completion:nil];
>         }
>     });
> {code}
> I think that : "what is the weakSelf.viewController?", when shows and when creates the inAppBrowser the plugin uses self.inAppBrowserViewController. Why use at this point viewController instead of?
> Note: It's my first issue report, If I have done wrong it, please notify me in order to do better the next time.



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)

---------------------------------------------------------------------
To unsubscribe, e-mail: issues-unsubscribe@cordova.apache.org
For additional commands, e-mail: issues-help@cordova.apache.org