如此做,你会收益匪浅!

前言

    NS_CLASS_AVAILABLE_IOS(2_0) __TVOS_PROHIBITED @interface UIWebView : UIView <NSCoding, 
        UIScrollViewDelegate> 
    @available(iOS 2.0, *) public class UIWebView : UIView, NSCoding, UIScrollViewDelegate
  • UIWebView
    控件是做网络使用开发时采取的最多的2个控件,它达成了内置的浏览器(类似于
    Safari),并且 UIWebView 继承自
    UIView,能够将其像其它控件1样选拔到需求的地点。

  • 优点:简单,快速。

  • 缺点:内部存款和储蓄器消耗大,对于手提式有线电话机端的硬件援助不够好,例如:定位,捏合(守旧网络唯有点击动作)。

  • 选用场景:

    1. 适合于内容版式变化比较大的利用。

      微博情报,各样图像和文字混排,甚至放到录制。
      菜单,各样图片搭配,图像和文字并茂。
      运动类的采纳:羽球,后场高远球,来1段录像,图解表明,分解动作…。

    2. 稍加公司,有网址,没有 iOS 应用,着急上架,可以先用 webView
      快速包装2个。

      百度的一名目繁多应用,2018年开春才慢慢的转成 iOS 应用。

    3. Motorola 手提式有线电话机的浏览器 Safari 就是用 UIWebView 控件开发的。
      微信内嵌的浏览器正是 UIWebView 控件

  • iOS 玖+ 中若要加载 http: 互连网,须要在 Info.plist 中添加 App Transport
    Security Settings -> key: Allow Arbitrary Loads,value: YES。

那种景观不断几天之后还是在不停的经过中,因为熬夜带来的人体和精神负担让自家努力的不情愿做壹些事情,比如不乐意见见不太熟的人,不想去应付恐怕用力想要截至应付;比如大力不情愿做一些外人建议的浪费时间的工作,当然在提出者看来一定是有含义的作业,比如说打羽球、打乒乓球。作者为啥不去?因为本人不想在那段时日错开看小说,错过下棋。

2、UIWebView 的设置

  • Objective-C

        // 加载指定 URL 所设定的内容
        /*
            异步加载,可以从服务器和本地读取
        */
    
            // 加载网络数据
            [webView loadRequest:[NSURLRequest requestWithURL:[NSURL URLWithString:@"http://www.baidu.com"]]];
    
            // 加载本地文件
            [webView loadRequest:[NSURLRequest requestWithURL:[NSURL fileURLWithPath:[[NSBundle mainBundle] pathForResource:@"Baidu" 
                                                                                                                     ofType:@"pdf"]]]];
    
        // 加载 HTML 字符串数据
        /*
            指定 baseURL 可加载图片
        */
    
            // 加载网络 HTML 字符串数据
            NSString *htmlString1 = [NSString stringWithContentsOfURL:[NSURL URLWithString:@"https://m.baidu.com/"] 
                                                             encoding:NSUTF8StringEncoding 
                                                                error:NULL];
            [webView loadHTMLString:htmlString1 baseURL:[NSURL URLWithString:@"https://m.baidu.com/"]];
    
            // 加载本地 HTML 字符串数据
            NSString *htmlString2 = [NSString stringWithContentsOfFile:[[NSBundle mainBundle] pathForResource:@"Baidu" ofType:@"html"] 
                                                              encoding:NSUTF8StringEncoding 
                                                                 error:NULL];
            [webView loadHTMLString:htmlString2 baseURL:nil];
    
        // 加载 Data 数据
        /*
            比 loadHTMLString 更底层
        */
        NSData *data = [NSData dataWithContentsOfURL:[NSURL fileURLWithPath:[[NSBundle mainBundle] pathForResource:@"Baidu" ofType:@"html"]]];
        [webView loadData:data MIMEType:@"text/html" textEncodingName:@"utf-8" baseURL:[NSURL URLWithString:@"https://m.baidu.com/"]];
    
        // 适配屏幕
        /*
            YES 页面可以通过放大和缩小去适应,用户也可以通过手势来放大和缩小
        */
        webView.scalesPageToFit = YES;
    
        // 设置自动分页模式
        /*
            UIWebPaginationModeUnpaginated,   // 默认不分页
            UIWebPaginationModeLeftToRight,
            UIWebPaginationModeTopToBottom,
            UIWebPaginationModeBottomToTop,
            UIWebPaginationModeRightToLeft
         */
        webView.paginationMode = UIWebPaginationModeLeftToRight;
    
        // 设置超链接类型
        /*
            UIDataDetectorTypePhoneNumber     = 1 << 0,          // Phone number detection
            UIDataDetectorTypeLink            = 1 << 1,          // URL detection
            UIDataDetectorTypeAddress         = 1 << 2,          // Street address detection
            UIDataDetectorTypeCalendarEvent   = 1 << 3,          // Event detection
    
            UIDataDetectorTypeNone            = 0,               // No detection at all
            UIDataDetectorTypeAll             = NSUIntegerMax    // All types
        */
        webView.dataDetectorTypes = UIDataDetectorTypeAll;
    
        // 设置是否用内嵌 HTML5 播放视频
        /*
            内嵌播放 HTML 中的 video 元素必须包含 webkit-playsinline 属性
            YES 内嵌播放,NO 本地全屏控制,iPhone Safari defaults to NO. iPad Safari defaults to YES
        */
        webView.allowsInlineMediaPlayback = NO;
    
        // 设置是否需要用户触发来启动媒体播放
        /*
            iPhone and iPad Safari both default to YES
        */
        webView.mediaPlaybackRequiresUserAction = NO;
    
        // 设置本页面是否可以 AirPlay 播放
        /*
            iPhone and iPad Safari both default to YES
        */
        webView.mediaPlaybackAllowsAirPlay = YES;
    
        // 设置是否把网页内容全部加载到内存中再去渲染
        /*
            iPhone and iPad Safari both default to NO
        */
        webView.suppressesIncrementalRendering = NO;
    
        // 设置是否需要用户触发显示键盘
        /*
            default is YES
        */
        webView.keyboardDisplayRequiresUserAction = NO;
    
        // 刷新
        /*
            重新加载页面
        */
        [webView reload];
    
        // 停止加载
        /*
            加载过程中,强行停止加载
        */
        [webView stopLoading]; 
    
        // 返回至上一个链接
        /*
            在产生多个链接浏览时,可以返回至浏览历史的上一个链接
        */
        [webView goBack];
    
        // 前进至下一个链接
        /*
            在产生多个链接浏览时,可以前进至浏览历史的下一个链接
        */
        [webView goForward];
    
        // 设置代理,需遵守协议 <UIWebViewDelegate>
        webView.delegate = self;
    
  • Swift

        // 加载指定 URL 所设定的内容
        /*
            异步加载,可以从服务器和本地读取
        */
    
            // 加载网络数据
            webView.loadRequest(NSURLRequest(URL: NSURL(string: "http://www.baidu.com")!))
    
            // 加载本地文件                                                   
            webView.loadRequest(NSURLRequest(URL: NSURL(fileURLWithPath: NSBundle.mainBundle().pathForResource("Baidu", ofType: "pdf")!)))
    
        // 加载 HTML 字符串数据
        /*
            指定 URL 可加载图片
        */
    
            // 加载网络 HTML 字符串数据
            let htmlString1:String = try! String(contentsOfURL: NSURL(string: "https://m.baidu.com/")!, encoding: NSUTF8StringEncoding)
            webView.loadHTMLString(htmlString1, baseURL: NSURL(string: "https://m.baidu.com/")!)
    
            // 加载本地 HTML 字符串数据
            let htmlString2:String = try! String(contentsOfFile: NSBundle.mainBundle().pathForResource("Baidu", ofType: "html")!, 
                                                       encoding: NSUTF8StringEncoding)
            webView.loadHTMLString(htmlString2, baseURL: nil)
    
        // 加载 Data 数据
        /*
            比 loadHTMLString 更底层
        */
        let data = NSData(contentsOfURL: NSURL(fileURLWithPath: NSBundle.mainBundle().pathForResource("Baidu", ofType: "html")!))
        webView.loadData(data!, MIMEType: "text/html", textEncodingName: "utf-8", baseURL: NSURL(string: "https://m.baidu.com/")!)
    
        // 适配屏幕
        /*
            true 页面可以通过放大和缩小去适应,用户也可以通过手势来放大和缩小
        */
        webView.scalesPageToFit = true
    
        // 设置自动分页模式
        /*
            case Unpaginated    // 默认不分页
            case LeftToRight
            case TopToBottom
            case BottomToTop
            case RightToLeft
        */
        webView.paginationMode = .Unpaginated
    
        // 设置超链接类型
        /*
            PhoneNumber     // Phone number detection
            Link            // URL detection
            Address         // Street address detection
            CalendarEvent   // Event detection
    
            None            // No detection at all
            All             // All types
        */
        webView.dataDetectorTypes = .All
    
        // 设置是否用内嵌 HTML5 播放视频
        /*
            内嵌播放 HTML 中的 video 元素必须包含 webkit-playsinline 属性
            YES 内嵌播放,NO 本地全屏控制,iPhone Safari defaults to NO. iPad Safari defaults to YES
        */
        webView.allowsInlineMediaPlayback = false
    
        // 设置是否需要用户触发来启动媒体播放
        /*
            iPhone and iPad Safari both default to YES
        */
        webView.mediaPlaybackRequiresUserAction = false
    
        // 设置本页面是否可以 AirPlay 播放
        /*
            iPhone and iPad Safari both default to YES
        */
        webView.mediaPlaybackAllowsAirPlay = true
    
        // 设置是否把网页内容全部加载到内存中再去渲染
        /*
            iPhone and iPad Safari both default to NO
        */
        webView.suppressesIncrementalRendering = false
    
        // 设置是否需要用户触发显示键盘
        /*
            default is YES
        */
        webView.keyboardDisplayRequiresUserAction = false
    
        // 刷新
        /*
            重新加载页面
        */
        webView.reload()
    
        // 停止加载
        /*
            加载过程中,强行停止加载
        */
        webView.stopLoading()
    
        // 返回至上一个链接
        /*
            在产生多个链接浏览时,可以返回至浏览历史的上一个链接
        */
        webView.goBack()
    
        // 前进至下一个链接
        /*
            在产生多个链接浏览时,可以前进至浏览历史的下一个链接
        */
        webView.goForward()
    
        // 设置代理,需遵守协议 UIWebViewDelegate
        webView.delegate = self
    

前几日来看,太多的人学习未有养成杰出的习惯,并且也未有意识到怎样才能越来越好地上学。在此,作为一家全体社会义务感的教诲单位,大家——大讲坛科学和技术有限集团,有志向为那种不佳的读书风尚做一些方向考订上的极力。

三、UIWebView 的协议方式

  • 需遵从协议 UIWebViewDelegate,并安装代理

  • Objective-C

        // 将要开始加载网页
        - (BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType {
    
            return YES;
        }
    
        // 开始加载网页
        - (void)webViewDidStartLoad:(UIWebView *)webView {
    
        }
    
        // 加载网页完成
        - (void)webViewDidFinishLoad:(UIWebView *)webView {
    
        }
    
        // 加载网页失败
        - (void)webView:(UIWebView *)webView didFailLoadWithError:(NSError *)error {
    
        }
    
  • Swift

        // 将要开始加载网页
        func webView(webView: UIWebView, shouldStartLoadWithRequest request: NSURLRequest, navigationType: UIWebViewNavigationType) -> Bool {
    
            return true
        }
    
        // 开始加载网页
        func webViewDidStartLoad(webView: UIWebView) {
    
        }
    
        // 加载网页完成
        func webViewDidFinishLoad(webView: UIWebView) {
    
        }
    
        // 加载网页失败
        func webView(webView: UIWebView, didFailLoadWithError error: NSError?) {
    
        }
    

对于那句关于做事的话:文武之道养精蓄锐;高级中学阶段就了然了,但直接到学业生涯的甘休,才最终将其转到做事上面,才能举一反3。结业未来,来到国家的首善之区,机缘巧合恰好住在人民大学周边。宿舍有位长作者几岁的长兄,每晚下班回到都拉着本人去人民代表大会做运动,1开头自作者是不情愿的,但耐不住四弟生拉硬拽,且笔者那人也不打算拒绝人家好三回,于是大家一块到了人民代表大会。

1、UIWebView 的创建

  • Objective-C

        UIWebView *webView = [[UIWebView alloc] initWithFrame:CGRectMake(0, 20, self.view.bounds.size.width, self.view.bounds.size.height-20)];
    
        // 将 webView 添加到屏幕
        [self.view addSubview:webView];
    
        // 加载网络地址
        [webView loadRequest:[NSURLRequest requestWithURL:[NSURL URLWithString:@"http://www.baidu.com"]]];
    
        // 适配屏幕
        webView.scalesPageToFit = YES;
    
  • Swift

        let webView:UIWebView = UIWebView(frame: CGRectMake(0, 20, self.view.bounds.size.width, self.view.bounds.size.height-20))
    
        // 将 webView 添加到屏幕
        self.view.addSubview(webView)
    
        // 加载网络地址
        webView.loadRequest(NSURLRequest(URL: NSURL(string: "http://www.baidu.com")!))
    
        // 适配屏幕
        webView.scalesPageToFit = true
    

图片 1

有1段时间,我不停歇的看随笔,不停歇的下象棋。看小说来看手提式有线电话机没电,看到凌晨2点;在qq上下象棋,到上午,到凌晨以往。那段时间本身飞速的要进来壹种欲求不满的意况,小编希望那种气象一向不断下去,好让祥和发现到直接在做着有含义的政工。

那种生活习惯到了中期发展到学习方面,在自家中期报考大学生复习阶段,不想去运动,不愿意动地方;死赖在桌子两旁。那种习惯一直保持到毕业前期。

也正是本次之后,回去感觉运动一下还不易,至少学习的振奋看似比之前足了。本着接受方能包容,方能作育的尺码,后来又去了五回。那五次之后小编深远精晓了休养生息那种道理:想要做事做的漫长,无法太顺着自身也不能够太委屈自身;关键是要养成优异的求学、做事的习惯,张弛有度的学习习惯。