美文网首页
webview http://blog.csdn.net/lc_

webview http://blog.csdn.net/lc_

作者: seventhboy | 来源:发表于2017-11-24 14:22 被阅读6次

    今天做项目遇到了浏览网页这个功能,也就用到了 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

    相关文章

      网友评论

          本文标题:webview http://blog.csdn.net/lc_

          本文链接:https://www.haomeiwen.com/subject/fnxfbxtx.html