Blog Categories

Jan 2014
May 2013
Feb 2012
Jun 2011
Mar 2011
Oct 2010
Mar 2010
Feb 2010
Jan 2010
Dec 2009
Mar 2009
Jun 2008
Sep 2007
Aug 2007
Mar 2007
Feb 2007
Dec 2006
Oct 2006

UIWebView Document Behavior Differences

I was trying to decide what document format to use for my help and about app panels. UIWebView is the obvious view of choice to use. UIWebView will display many different document formats, but I considered using 4 different possibilities: PDF, Pages, RTFD, and HTML.

Each document format behaves differently within UIWebView. Below is a summary of some of those differences.

PDF
Pages
RTFD
HTML
Single File Used?
Yes - Standard PDF
Yes - pages.zip or, if later version of pages, the .pages file itself
Yes - rtfd.zip
Yes and No - The HTML directory structure is supported. If you want to maintain a single file structure with images, you must use inline images.
How it looks
Grey margin around the whole “page”
Grey margin around the whole “page”
Fills the page
Initially fills the page, but can be zoomed with pinch gestures.
How it Scrolls
Up/Down & Left/Right
Up/Down & Left/Right
Up/Down (& Left/Right once pinch zoom is used)
Up/Down (& Left/Right once pinch zoom is used)
What Happens When iPhone is Rotated
Fonts are maintained in same size, but going from landscape to portrait cuts off some of the document, and from portrait to landscape can add an extra margin to the right of the document.
Width is adjusted, and fonts are scaled to maintain same relative formatting
Until pinch zoom is used, the page width automatically adjusts to fill the screen. Once pinch zoom is used, fonts are maintained in same size, but going from landscape to portrait cuts off some of the document, and from portrait to landscape can add an extra margin to the right of the document or even the bottom of the document.
Similar to RTFD.
Formatting Richness
No Limits
Few Limits
Somewhat Limited
Few Limits
Further Details Worth Mentioning
Need to manually crop the page height to the amount of data you want to use after generating the PDF. (Preview does this easily.) Pinch zooming did not work for me.
Page size is defined by the page document format. Pinch zooming works.
RTF does not appear to directly support hyperlinks, although UIWebView will interpret URLs dynamically.
Can truly create multiple pages with links to other pages within the document.
I ended up choosing to work with RTFD for the ease of handling the assets. All images are contained within a single document, it is easily zipped into one file that can be replaced easily, and it's behavior within UIWebView is very predictable with no extra programming.