There is no requirement to host the url in the app when using a webview.
So you can load an ordinary webpage in an in-app webview, and then scale the content with scalesPageToFit or similar.
If you want to use the iPhone browser you need to resort to JS, which you load from the web in the page referenced by your URL, and maybe look at the browser agent to determine that it is an iphone and set views accordingly.
Since the app's are sandboxed from each other, there is no way to pass much more than the url to the iPhone browsers. As I see it openURL does not even specify which browser to use.
Hosting the web content in the app is not necessary, You can load an external url. (Or maybe you can just make a local page and iframe the web resource you want to display)
This is how you add a webview and load an external url.
UIWebView *tempWebview = [[UIWebView alloc]initWithFrame:theFrame];
NSString *urlAddress = @"http://www.apple.com";
NSURL *url = [NSURL URLWithString:urlAddress];
NSURLRequest *requestObj = [NSURLRequest requestWithURL:url];
self.myWebView = tempWebview;
[tempWebview loadRequest:requestObj];
[tempWebview release];
myWebView.delegate=self;
If you then need to inject some javascript from the Objective-C side you can use:
- (NSString *)stringByEvaluatingJavaScriptFromString:(NSString *)script;
Here are some more info on interfacing a webview from objective-c.
You could also add an extra backend or in app layer as proxy
That you have control of appending more javascript logic for setting up the browser etc, for instance using iframes etc.
You can for instance apply css transforms to iframes:
iframe {
-moz-transform: scale(0.25, 0.25);
-webkit-transform: scale(0.25, 0.25);
-o-transform: scale(0.25, 0.25);
-ms-transform: scale(0.25, 0.25);
transform: scale(0.25, 0.25);
-moz-transform-origin: top left;
-webkit-transform-origin: top left;
-o-transform-origin: top left;
-ms-transform-origin: top left;
transform-origin: top left;
border: solid #ccc 10px;
}
http://jsfiddle.net/6QMcX/