(作业)WKWebView实现简单的浏览器

又是一周一次的作业时间,我们直接看要求和最终的效果图吧
作业要求
这里写图片描述

可以看出,最下面一块是一个网页,上面的第一行分别是回退按钮,前进按钮和刷新按钮,第二行是一个输入框和一个搜索按钮,这次作业要求不难,基本的功能框架里面已经有现成的方法了,所以我们只需要调用即可。那接下来开始实现部分。

首先,我们需要定义两个属性,一个WKWebView和一个UITextField(使用UIWebView也可以,不过WKWebView更加快捷、内存占用也比较少)
要使用WKWebView,我们需要在开头引入WebKit框架

import WebKit

然后声明两个属性

var webView: WKWebView!
var textField: UITextField!

到这里,我们还需要自己定义一个加载网页的方法,用于webView加载网页

func loadURL(path: String) {
    let url: URL?
    if path.hasPrefix("http://") {
        url = URL(string: path)
    } else {
        url = URL(string: "http://\(path)")
    }
    if url != nil {
        let request = URLRequest(url: url!)
        webView.load(request)
    }
}

我们在方法中,首先判断输入的网址是否含有”http://”字符串,如果没有,需要拼接上去,不然webView无法load该网址,因为使用的是http协议,苹果默认只支持https的协议,所以需要在info.plist文件中添加App Transport Security Settings下的Allow Arbitrary Loads字段,并且设置值为YES。
在拼接好字符串之后,使用该字符串生成URL和URLRequest,并使用WKWebView的load方法加载该request即可加载网页了。

到这里,准备工作就完成了,现在我们就开始往界面上添加我们的控件
首先设置根视图的背景颜色,然后获取屏幕的宽度和高度,并设置按钮的宽度和高度

self.view.backgroundColor = UIColor.white

let width = self.view.frame.width
let height = self.view.frame.height
let buttonHeight: CGFloat = 40
let buttonWidth: CGFloat = width / 5

然后我们开始初始化我们的webView,并默认加载百度网页

webView = WKWebView(frame: CGRect(x: 0, y: (buttonHeight + 10) * 2, width: width, height: height - (buttonHeight + 10) * 2))
self.view.addSubview(webView)
load
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值