iOS WebView的用法
一、UIWebView 可以加载和显示某个URL的网页,也可以显示基于HTML的本地网页或部分网页:a. 加载 URL
WebView = [ initWithFrame:CGRectMake(0, 44, 320, 400)];
NSString *path = @"http://www.baidu.com";
NSURL *url = ;
];
b. 加载 HTML
NSBundle *bundle = ;
NSString *resPath = ;
NSString *filePath = ;
baseURL:]];
二、使用网页加载指示,加载完成后再显示网页出来
首先要指定委托方法:
webView.delegate =self;
UIWebView主要有下面几个委托方法:
1、- (void)webViewDidStartLoad:(UIWebView *)webView;开始加载的时候执行该方法。
2、- (void)webViewDidFinishLoad:(UIWebView *)webView;加载完成的时候执行该方法。
3、- (void)webView:(UIWebView *)webView didFailLoadWithError:(NSError *)error;加载出错的时候执行该方法。
这样,可以利用 webViewDidStartLoad 和 webViewDidFinishLoad 方法实现本功能:
- (void) webViewDidStartLoad:(UIWebView *)webView
{
//创建UIActivityIndicatorView背底半透明View
UIView *view = [ initWithFrame:CGRectMake(0, 0, 320, 480)];
;
];
;
;
activityIndicator = [ initWithFrame:CGRectMake(0.0f, 0.0f, 32.0f, 32.0f)];
;
;
;
;
}
- (void) webViewDidFinishLoad:(UIWebView *)webView
{
;
UIView *view = (UIView*);
;
NSLog(@"webViewDidFinishLoad");
}
三、UIWebView还可以通过 stringByEvaluatingJavaScriptFromString 函数来执行 javascript代码,从而可以更加灵活地处理网页文件
1. 获得UIWebView的标题
NSString *theTitle=;
2. 获取页面的URL
NSString *currentURL = ;
3. 修改页面元素的值
NSString *js_result = .value='朱祁林';"];
4. 表单提交
NSString *js_result2 = .submit(); "]
四、综合运用以上方法,还可以实现部分网页的显示,基本思路如下:
1. 用 loadRequest 先获取网页,但先设置 UIWebView.hidden = YES;
2. 在 webViewDidFinishLoad 中,用
NSString *js_result2 = 获取指定标签元素的HTML代码
3. 再使用 loadHTMLString 加载该HTML代码,即可 补充说明 多谢指教, 我还正打算做一个要用到这个东西的app来着 strlen 发表于 2014-9-3 12:12
多谢指教, 我还正打算做一个要用到这个东西的app来着
相互学习
页:
[1]