Cisco Telepresence

Cisco Telepresence

Advertisements
Siri

Siri

UIWebViews and Orientation Changes

UIWebViews and Orientation Changes

One of the pesky problems in iOS development is how to float text with hyperlinks. Really and truly, the only bullet-proof way to do this is to use UIWebView.

But it comes with its own set of unique problems, not the least of which are:

1) Setting font size and color, and
2) Keeping the web view from resizing everything when you change device orientation.

The following code snippet shows how to solve both issues. We simply inject some CSS into the web view… and voila! Issues solved.

        NSString *myDescriptionHTML = [NSString stringWithFormat:@"<html> \n"
                                   "<head> \n"
                                   "<style type=\"text/css\"> \n"
                                   "body {font-family: \"%@\"; font-size: %@; 
                                    color: #444444; -webkit-text-size-adjust: none;}\n"
                                   "</style> \n"
                                   "</head> \n"
                                   "<body>%@</body> \n"
                                   "</html>", 
                                   @"helvetica", 
                                   [NSNumber numberWithInt:14], _myText];    
    
    [_bodyText loadHTMLString:myDescriptionHTML baseURL:[NSURL URLWithString:@""]];

The key css styling that will keep the UIWebView from resizing text on orientation changes is

-webkit-text-size-adjust: none;

The rest is self explanatory.

Happy Coding!

Google Hangouts

Google Hangouts

Doodle.com

Doodle.com