UIWebView详解

Setting the Delegate

delegate

Loading Content

1.- (void)loadData:(NSData *)data MIMEType:(NSString *)MIMEType textEncodingName:(NSString *)encodingName baseURL:(NSURL *)baseURL

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

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

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

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

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

5.@property(nonatomic, readonly, getter=isLoading) BOOL loading
判断Webview是否正在加载

5.- (void)stopLoading

停止加载页面

6.- (void)reload

重新加载此页面

Moving Back and Forward

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

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

3.- (void)goBack
后退

4.- (void)goForward
下一页或者前进

Setting Web Content Properties

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

Available in iOS 6.0 and later.

Webview的一个子类

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.

4.@property (nonatomic) BOOL keyboardDisplayRequiresUserAction

Available in iOS 6.0 and later.默认是YES

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

5.@property(nonatomic) BOOL detectsPhoneNumbers

Deprecated in iOS 3.0. UsedataDetectorTypes instead.

Running JavaScript

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

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

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

Detecting Types of Data

1.@property(nonatomic) UIDataDetectorTypes dataDetectorTypes

enum {
   UIDataDetectorTypePhoneNumber   = 1 << 0,
   UIDataDetectorTypeLink          = 1 << 1,
   UIDataDetectorTypeAddress       = 1 << 2,
   UIDataDetectorTypeCalendarEvent = 1 << 3,
   UIDataDetectorTypeNone          = 0,
   UIDataDetectorTypeAll           = NSUIntegerMax
};
typedef NSUInteger UIDataDetectorTypes;

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

Managing Media Playback

1.@property(nonatomic) BOOL allowsInlineMediaPlayback

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

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

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

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






  • 1
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值