cordova-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "ASF GitHub Bot (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (CB-12367) Modernize styling of iOS InAppBrowser view
Date Mon, 20 Nov 2017 07:54:00 GMT

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

ASF GitHub Bot commented on CB-12367:
-------------------------------------

reidab commented on a change in pull request #210: CB-12367: Modernize styling of iOS InAppBrowser
view
URL: https://github.com/apache/cordova-plugin-inappbrowser/pull/210#discussion_r151920046
 
 

 ##########
 File path: src/ios/CDVInAppBrowser.m
 ##########
 @@ -539,115 +545,212 @@ -(void)dealloc {
 - (void)createViews
 {
     // We create the views in code for primarily for ease of upgrades and not requiring an
external .xib to be included
+    UIBarButtonItem* flexibleSpaceButton = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemFlexibleSpace
target:nil action:nil];
+    UIBarButtonItem* fixedSpaceButton = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemFixedSpace
target:nil action:nil];
+    fixedSpaceButton.width = 20;
 
-    CGRect webViewBounds = self.view.bounds;
-    BOOL toolbarIsAtBottom = ![_browserOptions.toolbarposition isEqualToString:kInAppBrowserToolbarBarPositionTop];
-    webViewBounds.size.height -= _browserOptions.location ? FOOTER_HEIGHT : TOOLBAR_HEIGHT;
-    self.webView = [[UIWebView alloc] initWithFrame:webViewBounds];
+    self.webView = [self buildWebView];
+    self.spinner = [self buildSpinner];
+    self.toolbar = [self buildToolbar];
+
+    self.addressLabel = [self buildAddressLabel];
+    self.addressBar = [self buildAddressBar:self.addressLabel];
 
-    self.webView.autoresizingMask = (UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleHeight);
+    self.closeButton = [self buildCloseButton];
+    self.forwardButton = [self buildForwardButton];
+    self.backButton = [self buildBackButton];
+
+    [self.toolbar setItems:@[self.closeButton, flexibleSpaceButton, self.backButton, fixedSpaceButton,
self.forwardButton]];
+
+    self.view.backgroundColor = [UIColor whiteColor];
+
+    if (IsAtLeastiOSVersion(@"7.0")) {
 
 Review comment:
   I only threw in this `IsAtLeastiOSVersion` check because there are other instances of it
in this file going all the way back to iOS 6. I can remove it from this commit if you'd like,
but I feel like removing the rest of the iOS version checks from this file is probably out
of scope of this work.

----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
users@infra.apache.org


> Modernize styling of iOS InAppBrowser view
> ------------------------------------------
>
>                 Key: CB-12367
>                 URL: https://issues.apache.org/jira/browse/CB-12367
>             Project: Apache Cordova
>          Issue Type: Improvement
>          Components: cordova-plugin-inappbrowser
>    Affects Versions: 1.6.1
>            Reporter: Reid Beels
>
> I've been working on a branch that brings several visual and configuration improvements
to the iOS InAppBrowser view, along with a little refactoring of the view setup code.
> This PR:
> * breaks up the large {{CDVInAppBrowserViewController createView}} method into several
smaller helper methods to handle the creation of individual subviews
> * gives the {{addressLabel}} a wrapping view to provide flexibility of background color
/ padding
> * changes the default toolbar style from {{UIBarStyleBlackOpaque}} to {{UIBarStyleDefault}}
to match the system default
> * adds a {{toolbarstyle}} configuration option that accepts {{default}} or {{black}}
> * sets the status bar style and background color to match the {{toolbarstyle}}, so that
top toolbars can blend nicely into the status bar
> * replaces the unicode navigation arrows (◄►) with drawn arrows that match those
used in Safari
> * adds a {{tintcolor}} configuration option that accepts hex strings like {{F8A027}}.
If not provided, or set to {{default}}, controls will be rendered in the default iOS blue,
or in white when {{toolbarstyle=black}} is set.



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)

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


Mime
View raw message