IOS学习之UIWebView(3)

1、语言:swift2

2、浏览器简单示例

     控件如下:


3、ViewController继承

      viewController需要继承UIWebViewDelegate, UITextFieldDelegate


4、实现了协议

        实现了UIWebViewDelegateUITextFieldDelegate中的部分协议。

5、源码如下:

import UIKit

class ViewController: UIViewController,UIWebViewDelegate, UITextFieldDelegate{

    @IBOutlet weak var webView: UIWebView!
    @IBOutlet weak var searchBtn: UIButton!
    @IBOutlet weak var urlText: UITextField!
    
    /// 指示器
    var loadIndicator : UIActivityIndicatorView!;
    
    override func viewDidLoad()
    {
        super.viewDidLoad();
        
        
        /// 设置委托
        webView.delegate = self;
        
        /// 指示器对象
        loadIndicator = UIActivityIndicatorView(frame: CGRectMake(100.0, 100.0, 32.0, 32.0));
       
        loadIndicator.activityIndicatorViewStyle = UIActivityIndicatorViewStyle.Gray;
        
        view.addSubview(loadIndicator);
        
        urlText.delegate = self;
    }

    /// 文本框的协议:当点击输入框键盘上的go 按钮后,调用该协议
    func textFieldShouldReturn(textField:UITextField)->Bool
    {
        /// 触发键盘隐藏事件
        urlText.resignFirstResponder();
        let url = urlText.text;
    
        loadUrl(url!);
        
        return true;
    }
    
    /// 前往网址
    func loadUrl(url:String)
    {
        let urlObj = NSURL(string: url);
        
        let request = NSURLRequest(URL:urlObj!);
        
        webView.loadRequest(request);
    }
    
    
    /// 搜索按钮被点击事件
    @IBAction func searchBtnclicked(sender: AnyObject)
    {
        /// 收起键盘
        urlText.resignFirstResponder();
        let url = urlText.text;
        loadUrl(url!);
    }
    
    /// UIWebView协议实现
    func webViewDidStartLoad(webView: UIWebView) {
        /// 设置加载动画
        loadIndicator.startAnimating();
    }
    func webViewDidFinishLoad(webView: UIWebView) {
        loadIndicator.stopAnimating();
    }
    
    func webView(webView: UIWebView, didFailLoadWithError error: NSError?)
    {
        /// 提示框
        let alert = UIAlertController(title: "提示", message: error?.localizedDescription, preferredStyle: UIAlertControllerStyle.Alert);
        let action = UIAlertAction(title:"确定", style: UIAlertActionStyle.Default, handler: nil);
        alert
            .addAction(action);
        presentViewController(alert, animated: true, completion: nil);
        
    }
    
    
    override func didReceiveMemoryWarning() {
        super.didReceiveMemoryWarning()
        
    }


}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值