ios uiwebview 详解

 

转载链接:http://blog.csdn.net/lixuwen521/article/details/9293257



Setting the Delegate

[plain]  view plain copy
  1. delegate  

Loading Content

[plain]  view plain copy
  1. 1.- (void)loadData:(NSData *)data MIMEType:(NSString *)MIMEType textEncodingName:(NSString *)encodingName baseURL:(NSURL *)baseURL  

设置主页面的内容,MIME类型,内容编码格式,基本的内容URL

简单测试发现设置不设置MIMEType和encodingName都没什么影响,有新发现了会更新此文章的。

[plain]  view plain copy
  1. 2.- (void)loadHTMLString:(NSString *)string baseURL:(NSURL *)baseURL  
设置主页面的内容,基本的内容URL

[plain]  view plain copy
  1. 3.- (void)loadRequest:(NSURLRequest *)request  
异步加载内容,可以从服务器和本地读取

[plain]  view plain copy
  1. 4.@property(nonatomic, readonly, retain) NSURLRequest *request  
从这里可以获取Webview加载的request的一系列属性

[plain]  view plain copy
  1. 5.@property(nonatomic, readonly, getter=isLoading) BOOL loading  
判断Webview是否正在加载

[plain]  view plain copy
  1. 5.- (void)stopLoading  

停止加载页面

[plain]  view plain copy
  1. 6.- (void)reload  

重新加载此页面

Moving Back and Forward

[plain]  view plain copy
  1. 1.@property(nonatomic, readonly, getter=canGoBack) BOOL canGoBack  
判断此页面是否可以后退

[plain]  view plain copy
  1. 2.@property(nonatomic, readonly, getter=canGoForward) BOOL canGoForward  
判断此页面是否可以进入下一页

[plain]  view plain copy
  1. 3.- (void)goBack  
后退

[plain]  view plain copy
  1. 4.- (void)goForward  
下一页或者前进

Setting Web Content Properties

[plain]  view plain copy
  1. 1.@property(nonatomic) BOOL scalesPageToFit  
默认值为NO,用户不可以放大或缩小页面;如果设置为YES,页面可以通过放大缩小去适应,用户也可以通过手势来放大和缩小
[plain]  view plain copy
  1. 2.@property(nonatomic, readonly, retain) UIScrollView *scrollView  

Available in iOS 6.0 and later.

Webview的一个子类

[plain]  view plain copy
  1. 3.@property(nonatomic) BOOL suppressesIncrementalRendering  

Available in iOS 6.0 and later.默认值为NO.

这个值决定了网页内容的渲染是否在把内容全部加载到内存中再去处理。

如果设置为YES,只有网页内容加载到内存里了才会去渲染

When set to YES, the web view does not attempt to render incoming content as it arrives. Instead, the view’s current contents remain in place until all of the new content has been received, at which point the new content is rendered. This property does not affect the rendering of content retrieved after a frame finishes loading.

[plain]  view plain copy
  1. 4.@property (nonatomic) BOOL keyboardDisplayRequiresUserAction  

Available in iOS 6.0 and later.默认是YES

如果设置为YES,用户必须明确的点击页面上的元素或者相关联的输入页面来显示键盘;如果设置为NO,一个元素的焦点事件导致输入视图的显示和自动关联这个元素。

[plain]  view plain copy
  1. 5.@property(nonatomic) BOOL detectsPhoneNumbers  

Deprecated in iOS 3.0. UsedataDetectorTypes instead.

Running JavaScript

[plain]  view plain copy
  1. 1.- (NSString *)stringByEvaluatingJavaScriptFromString:(NSString *)script  
返回运行脚本语言的结果。

JavaScript的执行时间被限定在10秒钟,如果执行时间超过10秒,那么页面就停止执行这个脚本。JavaScript的执行或许能够阻塞主线程,所以当脚本执行的时候不允许用户影响页面的加载。

JavaScript的内存分配被限制在10M,如果超出这个限制那么页面会发生异常。

Detecting Types of Data

[plain]  view plain copy
  1. 1.@property(nonatomic) UIDataDetectorTypes dataDetectorTypes  

[plain]  view plain copy
  1. enum {  
  2.    UIDataDetectorTypePhoneNumber   = 1 << 0,  
  3.    UIDataDetectorTypeLink          = 1 << 1,  
  4.    UIDataDetectorTypeAddress       = 1 << 2,  
  5.    UIDataDetectorTypeCalendarEvent = 1 << 3,  
  6.    UIDataDetectorTypeNone          = 0,  
  7.    UIDataDetectorTypeAll           = NSUIntegerMax  
  8. };  
  9. typedef NSUInteger UIDataDetectorTypes;  

把网页上内容转换成可点击的链接

Managing Media Playback

[plain]  view plain copy
  1. 1.@property(nonatomic) BOOL allowsInlineMediaPlayback  

默认使NO。这个值决定了用内嵌HTML5播放视频还是用本地的全屏控制。

为了内嵌视频播放,不仅仅需要在这个页面上设置这个属性,还必须的是在HTML中的video元素必须包含webkit-playsinline属性。
[plain]  view plain copy
  1. 2.@property(nonatomic) BOOL mediaPlaybackRequiresUserAction  
在iPhone和iPad上默认使YES。这个值决定了HTML5视频可以自动播放还是需要用户去启动播放

[plain]  view plain copy
  1. 3.@property(nonatomic) BOOL mediaPlaybackAllowsAirPlay  
这个值决定了从这个页面是否可以Air Play。

Available in iOS 5.0 and later.在iPhone和iPad上默认使YES。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值