webview http://blog.csdn.net/lc_
今天做项目遇到了浏览网页这个功能,也就用到了 UIWebView 这个类
那么我们就来看看这个类都有什么东西
其实这个类还是比较简单的
UIWebView 继承于UIView
利用这个类可以简单的实现网页浏览
下面先看一下属性
@property(nonatomic, assign) id<UIWebViewDelegate> delegate //类的代理
@property(nonatomic, readonly, retain) NSURLRequest *request
//当前显示页面的URL请求
@property(nonatomic, readonly, getter=isLoading) BOOL loading
//当前网页是否是正在加载状态
@property(nonatomic, readonly, getter=canGoBack) BOOL canGoBack
//从当前网页是否能返回上一网页
@property(nonatomic, readonly, getter=canGoForward) BOOL canGoForward
//从当前网页能否前进
@property(nonatomic) BOOL scalesPageToFit
//网页内容是否自适应大小
@property(nonatomic, readonly, retain) UIScrollView *scrollView
//与当前web视图 相关联的滚动视图
@property(nonatomic) BOOL suppressesIncrementalRendering
//是否网页内容下载完毕才开始渲染web视图,默认为NO
@property (nonatomic) BOOL keyboardDisplayRequiresUserAction
//是否在web页面响应用户输入弹出键盘,默认为YES
@property(nonatomic) UIDataDetectorTypes dataDetectorTypes
//把网页上的内容转换为可点击的链接
enum {
UIDataDetectorTypePhoneNumber = 1 << 0,
UIDataDetectorTypeLink = 1 << 1,
UIDataDetectorTypeAddress = 1 << 2,
UIDataDetectorTypeCalendarEvent = 1 << 3,
UIDataDetectorTypeNone = 0,
UIDataDetectorTypeAll = NSUIntegerMax
};
@property(nonatomic) BOOL allowsInlineMediaPlayback
//这个值决定了用内嵌HTML5播放视频还是用本地的全屏控制。
为了内嵌视频播放,不仅仅需要在这个页面上设置这个属性,
还必须的是在HTML中的video元素必须包含webkit-playsinline属性。默认使NO。
@property(nonatomic) BOOL mediaPlaybackRequiresUserAction
//在iPhone和iPad上默认使YES。这个值决定了HTML5视频可以自动播放还是需要用户去启动播放
@property(nonatomic) BOOL mediaPlaybackAllowsAirPlay
//这个值决定了从这个页面是否可以Air Play。 在iPhone和iPad上默认使YES。
下面来看一下方法
加载数据
-
(void)loadRequest:(NSURLRequest *)request
//加载URL数据请求 -
(void)loadHTMLString:(NSString *)string baseURL:(NSURL *)baseURL
//设置主页,主页内容为baseURL链接内容 -
(void)loadData:(NSData *)data MIMEType:(NSString *)MIMEType textEncodingName:(NSString *)encodingName baseURL:(NSURL *)baseURL
//设置主页内容,MIME类型,编码的内容和基本的URL。
//data数据为主页内容 -
(void)stopLoading //停止加载数据
-
(void)reload //加载当前页数据
网页切换
- (void)goBack //后退一页
- (void)goForward //前进一页
运行Java脚本
- (NSString *)stringByEvaluatingJavaScriptFromString:(NSString *)script
//返回运行脚本语言的结果。
JavaScript的执行时间被限定在10秒钟,如果执行时间超过10秒,那么页面就停止执行这个脚本。
JavaScript的执行或许能够阻塞主线程,所以当脚本执行的时候不允许用户影响页面的加载。
JavaScript的内存分配被限制在10M,如果超出这个限制那么页面会发生异常。
好了,到此为止就是UIWebView 类的所有属性的方法了,东西不多也都比较好理解。
有一点是最后一个方法不是很明白,还要下去继续研究一下,如果你知道,那麻烦你告诉我一下。
今天就到这里 —— LC