UI之UIWebview
来源:互联网 发布:中俄翻译软件在线 编辑:程序博客网 时间:2024/06/06 06:49
- 前奏
UIWebView 是用来加载加载网页数据的一个框。UIWebView可以用来加载pdf、 word、 doc 等文件。
生成webview 有两种方法:
1、通过storyboard 拖拽
2、通过alloc init 来初始化
创建webview,下列文本中 _webView.dataDetectorTypes = UIDataDetectorTypeAll; 是识别webview中的类型,例如 当webview中有电话号码,点击号码就能直接打电话
- 创建
- (UIWebView *)webView{ if (!_webView) { _webView = [[UIWebView alloc] initWithFrame:self.view.bounds]; _webView.dataDetectorTypes = UIDataDetectorTypeAll;//属性检测 [_webView setUserInteractionEnabled:YES]; //是否与用户交互(即用户能不能控制webview) // _webView.deleate = self; // UIScrollView *scollview=(UIScrollView *)[[webview subviews]objectAtIndex:0]; //scollview.bounces=NO; } return _webView;}
- 加载网页
// 让浏览器加载指定的字符串,使用m.baidu.com进行搜索- (void)loadString:(NSString *)str{ // 1. URL 定位资源,需要资源的地址 NSString *urlStr = str; if (![str hasPrefix:@"http://"]) { urlStr = [NSString stringWithFormat:@"http://m.baidu.com/s?word=%@", str]; } NSURL *url = [NSURL URLWithString:urlStr]; // 2. 把URL告诉给服务器,请求,从m.baidu.com请求数据 NSURLRequest *request = [NSURLRequest requestWithURL:url]; // 3. 发送请求给服务器 [self.webView loadRequest:request];}
- 导航
#pragma mark - 按钮方法#pragma mark 前进- (void)forawrd { [self.webView goForward];}#pragma mark 后退- (void)back { [self.webView goBack];}#pragma mark - 按钮方法#pragma mark 重新加载数据- (void)reload { [webView reload];//重新加载数据}#pragma mark 停止加载数据- (void)stopLoading { [webView stopLoading];//停止加载数据}
设置代理和代理方法
UIWebView有五个代理方法,我们可以在不同的代理方法中,完成不同的需求。
//设置代理webView.delegate=self;//代理方法-(BOOL)webView:(UIWebView*)webViewshouldStartLoadWithRequest:(NSURLRequest*)requestnavigationType:(UIWebViewNavigationType)navigationType{//返回YES,进行加载。通过UIWebViewNavigationType可以得到请求发起的原因returnYES;}-(void)webViewDidStartLoad:(UIWebView*)webView{//开始加载,可以加上风火轮(也叫菊花)}-(void)webViewDidFinishLoad:(UIWebView*)webView{//完成加载}-(void)webView:(UIWebView*)webViewdidFailLoadWithError:(NSError*)error{//加载出错}
- webview的高级用法
1.隐藏上下滚动时出边界的后面的黑色的阴影- (void) hideGradientBackground:(UIView*)theView{ for (UIView * subview in theView.subviews) { if ([subview isKindOfClass:[UIImageView class]]) subview.hidden = YES; [self hideGradientBackground:subview]; }}2. 禁用拖拽时的反弹效果[(UIScrollView *)[[webView subviews] objectAtIndex:0] setBounces:NO]; 3. 判断用户点击类型- (BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType{//根据创建时设置的属性检测类型,执行相应的操作 switch (navigationType) { //点击连接 case UIWebViewNavigationTypeLinkClicked: { NSLog(@"clicked"); } break; //提交表单 case UIWebViewNavigationTypeFormSubmitted: { NSLog(@"submitted"); } default: break; } return YES;}
写的匆忙,待回头整理…..
参考链接:
http://163liufuliang.blog.163.com/blog/static/3316518620132515136177/
http://my.oschina.net/hmj/blog/147507
http://www.cnblogs.com/gcb999/p/3178728.html
http://blog.csdn.net/codywangziham01/article/details/37658399
0 0
- UI之UIWebview
- UI组件之UIWebView学习
- UI - UIWebView
- iOS开发UI篇 -- UIWebView
- UIWebView之hack网页
- iOS开发之UIWebView
- iOS开发之UIWebView
- iOS开发之UIWebView
- IOS之UIWebView
- iOS开发之UIWebView
- iOS开发之UIWebView
- iOS开发之UIWebView
- Iphone 开发之 UIWebview
- iOS开发之UIWebView
- iOS开发之UIWebView
- iOS开发之UIWebView
- UIwebView 之初体验。。。。。
- iOS开发之UIWebView
- 今天线上系统碰到个怪问题DBCP数据连接异常,java.sql.SQLException: Already closed.
- Swift UIview简单动画
- 结构型模式:外观模式(Facade Pattern)
- python基础(二)
- Git的使用一(创建版本库)仅限Mac亲测
- UI之UIWebview
- 查询数据库表空间
- windows服务程序
- 指针常量和常量指针
- 51 nod 1046 A^B Mod C(快速幂取余)
- UDP协议
- UML(一)——面向对象方法与软件过程模型
- 安卓下载及入门教程记录
- Linux fork炸弹解析 ——Linux Fork Bomb