一、使用UIWebView 将web content 嵌入到应用上。API提供了三种方法:
1>直接加载:
- (void)loadRequest:(NSURLRequest *)request
NSString *path = @"http://theo2life.com";
NSURL *url = [[NSURL alloc] initWithString:path];
[self.webView loadRequest:[NSURLRequest requestWithURL:url]];
2>将本地html文件内容嵌入webView
- (void)loadHTMLString:(NSString *)string baseURL:(NSURL *)baseURL
NSString *resourcePath = [ [NSBundle mainBundle] resourcePath];
NSString *filePath =[resourcePath stringByAppendingPathComponent:@"test.html"];
NSString *htmlstring =[[NSString alloc] initWithContentsOfFile:filePath encoding:NSUTF8StringEncoding error:nil];
[self.webView loadHTMLString:htmlstring baseURL:[NSURL fileURLWithPath: [[NSBundlemainBundle] bundlePath]]];
如果不从html文件载入你也可以这样:
NSString *HTMLData = @"<img src=\"test.png\" />ddd";
[self.webView loadHTMLString:HTMLData baseURL:[NSURL fileURLWithPath: [[NSBundlemainBundle] bundlePath]]];
3>web content的编码方式
- (void)loadData:(NSData *)data MIMEType:(NSString *)MIMEType textEncodingName:(NSString *)textEncodingNamebaseURL:(NSURL *)baseURL
同2
注意:如果载入的web布局大过ipad尺寸发现超出的部分会是空白,则设置 webView.scalesPageToFit = YES;
让web content布局适应webView。
二、禁止响应
// 禁用用户拖动
self.webView.scrollView.scrollEnabled = NO;
// 禁用回弹
self.scrollView.bounces = NO;
// 禁用用户选择
[self.webViewstringByEvaluatingJavaScriptFromString:@"document.documentElement.style.webkitUserSelect='none';"];
// 禁用长按弹出框
[self.webViewstringByEvaluatingJavaScriptFromString:@"document.documentElement.style.webkitTouchCallout='none';”];