IOS UIWebView 网页视图

原创
2017/04/11 11:06
阅读数 32
UIWebView 继承于UIView
利用这个类可以简单的实现网页浏览

下面先看一下属性
@property(nonatomic, assign) id 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,如果超出这个限制那么页面会发生异常。

 

展开阅读全文
打赏
0
0 收藏
分享
加载中
更多评论
打赏
0 评论
0 收藏
0
分享
返回顶部
顶部