持续创作,加速成长!这是我参与「掘金日新计划 · 10 月更文挑战」的第4天
基础知识
UIWebView继承与UIView,是一个被淘汰的控件。
加载能力
- UIWebView不仅可以加载 HTML 页面,还支持 pdf、word、txt 以及各种图片的显示;
- 相比 UIWebView 而言,WKWebView 也支持各种文件格式,并新增了加载本地文件,即新增了 LoadFileURL 函数。
1.1 UIWebView加载网页请求
- (void)loadRequest:(NSURLRequest *)request;
UIWebView加载HTML
- (void)loadHTMLString:(NSString *)string baseURL:(nullable NSURL *)baseURL;
文本字段的使用
文本字段是一个用户界面元素,通过应用程序来获取用户输入。
一个UITextfield如下所示:
重要的文本字段的属性
- 在没有任何用户输入时,显示占位符
- 正常文本
- 自动更正型
- 键盘类型
- 返回键类型
- 清除按钮模式
- 对齐方式
- 委托
委托调用的方法基于用户操作。要知道调用委托时请参阅控制台输出。
1.本文目的:掌握UIWebView的使用;
2.本文任务:完成UIWebView案例;
3.本文要求:
. 可结合TextField对案例功能进行拓展。
. 使用swift3.x,基于Xcode完成;
先找到webview,button,textFiled组件,并在故事版中以下列形式放置
给button绑定上testLoadHTMLString方法。用webview方法中的loadRequest去请求在文本框中输入的网址。
值得注意的是,我们访问一些网址要加上ALL Arbtrary Loads协议。
启动模拟器,手机模拟的状态如下
输入完成后,单击return 键,关闭键盘,结束编辑状态,此时日志会显示call should return ;
输入网址,按下return键,点击按钮,下方开始请求网址,如下图:
import UIKit
class ViewController: UIViewController ,UIWebViewDelegate,UITextFieldDelegate{
@IBOutlet weak var textFiled: UITextField!
@IBOutlet weak var webView: UIWebView!
@IBAction func testLoadHTMLString(_ sender: Any) {
let str=String (self.textFiled.text!)
let url = URL.init(string: str)
let request = URLRequest(url: url!)
self.webView.loadRequest(request)
self.webView.delegate=self
}
func textFieldDidEndEditing(_ textField: UITextField)->Bool {
NSLog("call end editing");
return true ;
}
func textFieldShouldBeginEditing(_ textField: UITextField) -> Bool {
NSLog("call begin editing");
return true
}
func textFieldShouldEndEditing(_ textField: UITextField) -> Bool {
return true
}
func textFieldDidEndEditing(_ textField: UITextField) {
NSLog("call did end editing")
}
func textFieldShouldReturn(_ textField: UITextField) -> Bool {
NSLog("call should return ")
return true;
}
override func viewDidLoad() {
super.viewDidLoad()
self.webView.delegate=self
self.textFiled.delegate=self
// Do any additional setup after loading the view, typically from a nib.
}
}