创建界面

var webView : UIWebView!
var toolBar : UIToolbar!
let swiftWH = UIScreen.mainScreen().bounds.size
webView = UIWebView(frame: CGRectMake(0, 20, swiftWH.width, swiftWH.height-49-20))
webView.delegate = self
webView.scrollView.bounces = false//禁止弹跳
self.view.addSubview(webView)
webView.loadRequest(NSURLRequest(URL: NSURL(string: "https://www.baidu.com")!)) self.createToolBarView()//工具栏

创建工具栏

func createToolBarView(){
let swiftWH = UIScreen.mainScreen().bounds.size
toolBar = UIToolbar(frame: CGRectMake(0, swiftWH.height-49, swiftWH.width, 49))
self.view.addSubview(toolBar) let backBtn = UIBarButtonItem(title: "后退", style: .Plain, target: self, action: Selector("backClick:"))
let forwardBtn = UIBarButtonItem(title: "前进", style: .Plain, target: self, action: Selector("forwardClick:"))
let refrashBtn = UIBarButtonItem(title: "刷新", style: .Plain, target: self, action: Selector("refrashClick:"))
let stopBtn = UIBarButtonItem(title: "停止", style: .Plain, target: self, action: Selector("stopClick:")) let space = UIBarButtonItem(barButtonSystemItem: .FlexibleSpace, target: nil, action: nil)
toolBar.setItems([backBtn,space,forwardBtn,space,refrashBtn,space,stopBtn], animated: true)
}

前进 后退 刷新 停止

func backClick(sender : UIBarButtonItem){
webView.goBack()
}
func forwardClick(sender : UIBarButtonItem){
webView.goForward()
}
func refrashClick(sender : UIBarButtonItem){
webView.reload()
}
func stopClick(sender : UIBarButtonItem){
webView.stopLoading()
}

UIWebViewDelegate

func webViewDidStartLoad(webView: UIWebView) {
//开始加载网页
print("开始加载数据")
}
func webViewDidFinishLoad(webView: UIWebView) {
//网页加载结束
print("网页加载结束")
if let titleStr = webView.stringByEvaluatingJavaScriptFromString("document.title"){
print(titleStr)
} }
func webView(webView: UIWebView, didFailLoadWithError error: NSError?) {
//网页加载失败
print("网页加载失败") }
func webView(webView: UIWebView, shouldStartLoadWithRequest request: NSURLRequest, navigationType: UIWebViewNavigationType) -> Bool {
//点击网页上的链接
let loadUrlStr = request.URL!
print(loadUrlStr) if navigationType == UIWebViewNavigationType.LinkClicked{//点击链接
return false
}
return true
}

来源:http://www.cnblogs.com/spaceID/p/4990665.html

UIToolbar+UIWebView 浏览器的更多相关文章

  1. 【IOS 开发】基本 UI 控件详解 (UIDatePicker | UIPickerView | UIStepper | UIWebView | UIToolBar )

    转载注明出处 : http://blog.csdn.net/shulianghan/article/details/50348982 一. 日期选择器 (UIDatePicker) UIDatePic ...

  2. 【iOS开发】UIWebView与JavaScript(JS) 回调交互

    ------------------------------------------------- 很多关于objc 与 js 交互的文章都比较适用于 mac开发,iOS的webview 还是有所不一 ...

  3. UIWebView与JavaScript(JS) 回调交互 -备

    很多关于objc 与 js 交互的文章都比较适用于 mac开发,iOS的webview 还是有所不一样, 参考:http://blog.sina.com.cn/s/blog_693de6100102v ...

  4. iOS开发系列--网络开发

    概览 大部分应用程序都或多或少会牵扯到网络开发,例如说新浪微博.微信等,这些应用本身可能采用iOS开发,但是所有的数据支撑都是基于后台网络服务器的.如今,网络编程越来越普遍,孤立的应用通常是没有生命力 ...

  5. iOS-网络基础

    概览 大部分应用程序都或多或少会牵扯到网络开发,例如说新浪微博.微信等,这些应用本身可能采用iOS开发,但是所有的数据支撑都是基于后台网络服务器的.如今,网络编程越来越普遍,孤立的应用通常是没有生命力 ...

  6. IOS网络开发概述

    概览 大部分应用程序都或多或少会牵扯到网络开发,例如说新浪微博.微信等,这些应用本身可能采用iOS开发,但是所有的数据支撑都是基于后台网络服务器的.如今,网络编程越来越普遍,孤立的应用通常是没有生命力 ...

  7. iOS网络

    iOS开发系列--网络开发 2014-10-22 08:34 by KenshinCui, 1253 阅读, 19 评论, 收藏,  编辑 概览 大部分应用程序都或多或少会牵扯到网络开发,例如说新浪微 ...

  8. IOS_多线程_ASI_AFN_UIWebView

    H:/0730/00_多线程4票种_ViewController.h // // ViewController.h // 卖票 // // Created by apple on 13-7-29. / ...

  9. Swift - 使用UIWebView和UIToolbar制作一个浏览器

    使用网页控件(UIWebView)与工具栏控件(UIToolbar),我们可以自制一个小型的浏览器,其功能如下: 1,输入网址,点击“Go”按钮加载网页 2,加载过程中有进度条,同时可以点击停止按钮取 ...

随机推荐

  1. codeforces C. Restore Graph

    题意:构造一个有n个顶点,每个点度不超过k,然后给出每一个点到达一个定点的最短距离d数组,然后构造出这样的一个图: 思路:排序之后,有两个距离为0的或者没有直接输出-1,然后用两个游动下表,后面的与前 ...

  2. C 和 OC 字符串转换 NSString 和 char * 转换 const char* 与 char *

    #import <Foundation/Foundation.h> int main(int argc, const char * argv[]) { char *s = "He ...

  3. 我的HttpClients工具

    import java.io.IOException; import javax.ws.rs.core.MediaType; import org.apache.commons.httpclient. ...

  4. 【Linux】鸟哥的Linux私房菜基础学习篇整理(二)

    1. dumpe2fs [-bh] devicename:查询superblock信息.参数:-b:列出保留为坏道的部分:-h:列出superblock的数据,不会列出其他的区段内容. 2. df [ ...

  5. Linux&shell 之Shell命令进阶

    写在前面:案例.常用.归类.解释说明.(By Jim) 监控程序a.进程查看ps -ef(-e表示系统上运行的所有进程,-f用于扩展输出一些有用的信息列.)ps -efH(-H参数可以将进程组织为分层 ...

  6. 服务器端打开office然后采用虚拟打印 转换成pdf

    服务器端打开office然后采用虚拟打印 转换成pdf [WebMethod] public bool ConvertWordTOPDF(string WordPath) { bool ret=fal ...

  7. 开源代码搜索器searchcode

    项目主页:https://searchcode.com/ 查看API:https://searchcode.com/api/ 关于:https://searchcode.com/about/ Sear ...

  8. 主席树:POJ2104 K-th Number (主席树模板题)

    K-th Number Time Limit: 20000MS   Memory Limit: 65536K Total Submissions: 44952   Accepted: 14951 Ca ...

  9. android实现图片识别的几种方法

    实现android图像识别的几种方法 点击这里下载第一种代码 最近完成了毕业设计,论文名为基于图像识别的移动人口管理系统.编写过程中学到了几种图像识别的技术,先写下来与大家分享. 第一种,直接使用免费 ...

  10. 解决android启动程序时,会出现一个短暂的白色空白界面的问题

    在启动的activity定义style为透明就可以了(android:theme="@android:style/Theme.Translucent")