// // ViewController.m // UIWebView // // Created by City--Online on 15/5/18. // Copyright (c) 2015年 XQB. All rights reserved. // #import "ViewController.h" @interface ViewController ()<UIWebViewDelegate> @property(nonatomic,strong) UIWebView *webView; @property(nonatomic,strong) UIActivityIndicatorView *activityView; @end @implementation ViewController - (void)viewDidLoad { [super viewDidLoad]; _webView=[[UIWebView alloc]init]; _webView.frame=self.view.bounds; _webView.delegate=self; // NSString *filePath=[[NSBundle mainBundle] pathForResource:@"百度"ofType:@"html"]; // NSString *str=[[NSString alloc] initWithContentsOfFile:filePath encoding:NSUTF8StringEncoding error:nil]; // [_webView loadHTMLString:str baseURL:nil]; NSURL *url=[NSURL URLWithString:@"http://www.cnblogs.com/gcb999/p/3178728.html"]; NSURLRequest *request=[[NSURLRequest alloc]initWithURL:url]; //禁用拖拽时的反弹效果 _webView.scrollView.bounces=NO; //默认值为NO,用户不可以放大或缩小页面;如果设置为YES,页面可以通过放大缩小去适应,用户也可以通过手势来放大和缩小 _webView.scalesPageToFit=YES; //此属性可以设定使电话号码、网址、电子邮件和符合格式的日期等文字变为链接文字 // typedef NS_OPTIONS(NSUInteger, UIDataDetectorTypes) { // UIDataDetectorTypePhoneNumber = 1 << 0, // Phone number detection 识别电话号码 // UIDataDetectorTypeLink = 1 << 1, // URL detection识别网址,链接等 // UIDataDetectorTypeAddress = 1 << 2, // Street address detection 识别地址 // UIDataDetectorTypeCalendarEvent = 1 << 3, // Event detection 识别时间 // UIDataDetectorTypeNone = 0, // No detection at all 全都不识别 // UIDataDetectorTypeAll = NSUIntegerMax // All types 全部识别 // }; _webView.dataDetectorTypes=UIDataDetectorTypePhoneNumber; // 控制webview使用html5的video播放视频不全屏(inline)的方法 // webview中用html5的video方式播放视频时,在ipad上是默认原来大小的,而在iphone上是默认全屏播放的 // HTML里video必须加上webkit-playsinline属性 // <video id="player" width="480" height="320" webkit-playsinline> // Obj-C里,webview设置allowsInlineMediaPlayback属性为YES // webview.allowsInlineMediaPlayback = YES; _webView.allowsInlineMediaPlayback=YES; //是否支持自动播放 // <script> // if ("wView" in window) { // window.wView.allowsInlineMediaPlayback = "YES"; // window.wView.mediaPlaybackRequiresUserAction = "NO"; // } // </script> // 在head中加入此段代码,ios音视频不能自动播放的问题迎刃而解。 // 当然,在video标签中,需要先设定autoplay和preload属性,如下: // <video src="xxxxxx" autoplay preload></video> _webView.mediaPlaybackRequiresUserAction=NO; //从这个页面是否可以Air Play。 在iPhone和iPad上默认使YES。 _webView.mediaPlaybackAllowsAirPlay=YES; //是否网页内容下载完毕才开始渲染web视图,默认为NO _webView.suppressesIncrementalRendering=NO; //是否在web页面响应用户输入弹出键盘,默认为YES _webView.keyboardDisplayRequiresUserAction=YES; //IOS7增加了分页功能 // @property (nonatomic) UIWebPaginationMode paginationMode NS_AVAILABLE_IOS(7_0); // @property (nonatomic) UIWebPaginationBreakingMode paginationBreakingMode NS_AVAILABLE_IOS(7_0); // @property (nonatomic) CGFloat pageLength NS_AVAILABLE_IOS(7_0); // @property (nonatomic) CGFloat gapBetweenPages NS_AVAILABLE_IOS(7_0); // @property (nonatomic, readonly) NSUInteger pageCount NS_AVAILABLE_IOS(7_0); _webView.paginationMode=UIWebPaginationModeUnpaginated; [_webView loadRequest:request]; [self.view addSubview:_webView]; _activityView=[[UIActivityIndicatorView alloc]initWithFrame:CGRectMake(20, 20, 40, 40)]; _activityView.center=self.view.center; _activityView.activityIndicatorViewStyle=UIActivityIndicatorViewStyleWhiteLarge; [self.view addSubview:_activityView]; } //如果返回NO,代表不允许加载这个请求 - (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; } //开始加载 - (void)webViewDidStartLoad:(UIWebView *)webView { [_activityView startAnimating]; } //加载完毕 - (void)webViewDidFinishLoad:(UIWebView *)webView { [_activityView stopAnimating]; } //加载失败 - (void)webView:(UIWebView *)webView didFailLoadWithError:(NSError *)error { // [_webView goBack]; } - (void)didReceiveMemoryWarning { [super didReceiveMemoryWarning]; // Dispose of any resources that can be recreated. } @end
与JS交互这块下面的博客还不错
http://blog.csdn.net/lizhongfu2013/article/details/9232129
http://blog.csdn.net/lizhongfu2013/article/details/9236357