UIKit 框架之WebView
// // 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
UIKit 框架之WebView的更多相关文章
- Swift - 重写UIKit框架类的init初始化方法(以UITabBarController为例)
原来写了篇文章讲UITabBarController的用法,当时是从UIViewController跳转到UITabBarController页面,代码如下: 1 self.presentViewCo ...
- UIKit框架
在今后的应用程序构建中,会陆续使用各式各样的控件,因此UIKit框架的引入是必不可少的! 一.简介 UIKitk框架提供一系列的Class(类)来建立和管理iPhone OS应用程序的用户界面接口.应 ...
- iOS学习32之UIKit框架-可视化编程-XIB
1. Interface Builder 可视化编程 1> 概述 GUI : 图形用户界面(Graphical User Interface, 简称GUI, 又称图形化界面) 是指采用图形方式显 ...
- 基础框架Fundation和UIkit框架的定义和使用
Foundation 框架为所有应用程序提供基本的系统服务 您的应用程序以及 UIKit 和其他框架,都建立在 Foundation 框架的基础结构之上.Foundation 框架提供许多基本的对象类 ...
- iOS开发概述UIkit动力学,讲述UIKit的Dynamic特性,UIkit动力学是UIkit框架中模拟真实世界的一些特性。
转发:http://my.oschina.net/u/1378445/blog/335014 iOS UIKit动力学 Dynamics UIAttachmentBehavior 实现iMessage ...
- iOS开发UIKit框架-可视化编程-XIB
1. Interface Builder 可视化编程 1> 概述 GUI : 图形用户界面(Graphical User Interface, 简称GUI, 又称图形化界面) 是指采用图形方式显 ...
- 79、iOS 的Cocoa框架、Foundation框架以及UIKit框架
Cocoa框架是iOS应用程序的基础 1. Cocoa是什么? Cocoa是 OS X和ios 操作系统的程序的运行环境. 是什么因素使一个程序成为Cocoa程序呢?不是编程语言,因为在Cocoa开发 ...
- UIKit 框架之UIView二
下面这些都是UIView一些基本的东西,具体的可以参考UIKit 框架之UIView一博客 一.自定义一个View // // MyView.m // UIView // // Created by ...
- UIKit 框架之Bar、Controller
UIKit框架中有各种Bar,UITabBar.UINavigationBar.UIToolbar.Bar对应的就有一些Item,tabBarItem.navigationItem.toolbarIt ...
随机推荐
- VS2008 安装WINCE插件报错 ToolsMsmCA(Error)解决方案___VS2008
在win7系统,VS2008环境下安装EFMS9280_SDK.msi文件出现报错 ToolsMsmCA(Error):IHxFilters filter registration failure: ...
- 3.insert添加用法
一.新增用户接口 UserMapper.java package tk.mybatis.simple.mapper; import org.apache.ibatis.annotations.Para ...
- Android-WebView加载网络图片&网页
加载网络图片: 链接地址: http://bcs.link-us.com.cn/directBank/newHX149/directBank/h5/www/dist/img/e113.jpg 确保链 ...
- Linux下可视化空间分析工具ncdu
场景:磁盘空间占满后快速查找某个目录(子目录)占用空间大. ncdu /var (分析后按左右键查看即可)
- jQuery---ajax---error函数及其参数详解
使用jquery的ajax方法向服务器发送请求的时候,常常需要使用到error函数进行错误信息的处理,本文详细说明了ajax中error函数和函数中各个参数的用法. 一般error函数返回的参数有三个 ...
- Unity相机跟随-----根据速度设置偏移量
这里假设在水中的船,船有惯性,在不添加前进动力的情况下会继续移动,但是船身是可以360度自由旋转,当船的运动速度在船的前方的时候,相机会根据向前的速度的大小,设置相机的偏移量,从而提高游戏的动态带感. ...
- 不一样的网络流系列——Dinic跑得快
前言 摆王兴致冲冲地跑到我们机房来对我说跟你讲一个黑科技... Dinic的神奇优化 Dinic优化 我们发现如果Dinic不建反向边会跑的飞起(当然Wa是必然的) 所以考虑在加反向边的基础上优化. ...
- 「PKUWC2019」拓扑序计数(状压dp)
考场只打了 \(52\) 分暴力...\(ljc\) 跟我说了一下大致思路,我回去敲了敲. \(f[i]\) 表示状态为 \(i\) 时的方案数.我们用二进制 \(0/1\) 表示不选/选点 \(i\ ...
- 实现域名访问网站—nginx反向代理
今天在跟项目的时候,是否被耍了三个多小时,最后在我准备号材料准备他人求助的时候,在收集材料的时候,居然访问通了, 别问我为什么,我也不知道 ,哈哈哈哈(苦逼脸...) 分享出来,大家共同学习: 这个是 ...
- 解决微信小程序要求的TLS版本必须大于等于1.2的问题
一.环境: CentOS 6.8 nginx 1.6.0 php 7.0.10 二.背景 最近开发一个小程序,而小程序对后台接口服务器的要求是: 1.请求域名在request合法域名中 2.基于 ht ...