• XCode下Swift – WebView IOS demo


    简介

    我今天用Mac升级了XCode到8.1,Swift版本应该到了swift3,按网上的demo写webview的例子,报一堆错,整了一天才搞定,不想其他人踩坑了!

    XCode8.1 ,swift3,WebView的正确打开方式是这样的:

    创建应用

    打开XCode,创建一个新XCode项目
    这里写图片描述

    然后选择创建一个Simple View Aplication:

    这里写图片描述

    然后填写项目名称,组织名称,包名等信息
    这里写图片描述

    最后选择一个存放项目的目录,我选择的是在个人目录的xcodeprojects目录
    这里写图片描述

    设置Web View控件

    第一步,选中根目录下的Main.storyboard文件,
    第二步,选择第一面
    第三步,搜索web view控件
    第四步,按住Web View控件
    第五步,拖拽Web View控件到页面
    这里写图片描述

    然后调整Web View控件达到充满整个屏幕,选择右上角的双环按钮,调出代码框
    这里写图片描述

    右键单击代码框,调出菜单,按住【Referencing Outlets】选项下【New Referencing Outlet】右边的【➕】号,拖拽到代码【ViewController】中
    这里写图片描述

    然后需要填入控件名称,这里输入webview这个名称:
    这里写图片描述

    处理网络请求

    然后在【viewDidLoad】方法中加入代码

            // 1.设置访问资源 - 百度搜索
            let url = URL(string: "https://www.hushuang.me/");
    
            // 2.建立网络请求
            let request = URLRequest(url: url!);
    
            // 3.加载网络请求
            webview.loadRequest(request)

    这里写图片描述

    运行程序

    最后,先选择【iPhone7】设备,然后点击左上角的运行按钮,就可以看到你所期待的内容了:
    这里写图片描述

    这里写图片描述

    一定要看

    如果你发现WebView请求不到数据,而你的的url是http://开头,日志中出现以下内容:

    objc[11003]: Class PLBuildVersion is implemented in both
     /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.
    framework/AssetsLibraryServices (0x12160d998) and 
    /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.
    platform/Developer/SDKs/iPhoneSimulator.
    sdk/System/Library/PrivateFrameworks/PhotoLibraryServices.
    framework/PhotoLibraryServices (0x121432d38).
    One of the two will be used. 
    Which one is undefined.
    2016-11-07 21:28:23.217 webview[11003:404249] 
    App Transport Security has blocked a cleartext HTTP (http://) resource load since it is insecure. 
    Temporary exceptions can be configured via your app's Info.
    plist file.

    说明XCode对http请求做了限制,具体处理方式请参考我的另外一篇博文:解开XCode开发工具的http协议限制问题

  • 相关阅读:
    Asp.net Treeview 客户端选中效果实现 (初级)
    MYSQL生成日历表,通常在做报表的时候需要用来生成一个临时表,用来左连接等。
    写了一个抽奖类,感觉还不错,可以适合各种变化
    将系统的内部类:HttpValueCollection 移到自己的系统中,使其能方便的解析id=1&name=张三&sex=男这样的字符串参数 querystring
    指定某个文件的创建 修改 访问时间
    Reqeust["keyname"] 的读取顺序
    pku1463 Strategic game
    pku1947 Rebuilding Roads
    pku1848 Tree
    pku1056 IMMEDIATE DECODABILITY
  • 原文地址:https://www.cnblogs.com/Free-Thinker/p/7116618.html
Copyright © 2020-2023  润新知