UIToolbar+UIWebView 浏览器
创建界面
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 浏览器的更多相关文章
- 【IOS 开发】基本 UI 控件详解 (UIDatePicker | UIPickerView | UIStepper | UIWebView | UIToolBar )
转载注明出处 : http://blog.csdn.net/shulianghan/article/details/50348982 一. 日期选择器 (UIDatePicker) UIDatePic ...
- 【iOS开发】UIWebView与JavaScript(JS) 回调交互
------------------------------------------------- 很多关于objc 与 js 交互的文章都比较适用于 mac开发,iOS的webview 还是有所不一 ...
- UIWebView与JavaScript(JS) 回调交互 -备
很多关于objc 与 js 交互的文章都比较适用于 mac开发,iOS的webview 还是有所不一样, 参考:http://blog.sina.com.cn/s/blog_693de6100102v ...
- iOS开发系列--网络开发
概览 大部分应用程序都或多或少会牵扯到网络开发,例如说新浪微博.微信等,这些应用本身可能采用iOS开发,但是所有的数据支撑都是基于后台网络服务器的.如今,网络编程越来越普遍,孤立的应用通常是没有生命力 ...
- iOS-网络基础
概览 大部分应用程序都或多或少会牵扯到网络开发,例如说新浪微博.微信等,这些应用本身可能采用iOS开发,但是所有的数据支撑都是基于后台网络服务器的.如今,网络编程越来越普遍,孤立的应用通常是没有生命力 ...
- IOS网络开发概述
概览 大部分应用程序都或多或少会牵扯到网络开发,例如说新浪微博.微信等,这些应用本身可能采用iOS开发,但是所有的数据支撑都是基于后台网络服务器的.如今,网络编程越来越普遍,孤立的应用通常是没有生命力 ...
- iOS网络
iOS开发系列--网络开发 2014-10-22 08:34 by KenshinCui, 1253 阅读, 19 评论, 收藏, 编辑 概览 大部分应用程序都或多或少会牵扯到网络开发,例如说新浪微 ...
- IOS_多线程_ASI_AFN_UIWebView
H:/0730/00_多线程4票种_ViewController.h // // ViewController.h // 卖票 // // Created by apple on 13-7-29. / ...
- Swift - 使用UIWebView和UIToolbar制作一个浏览器
使用网页控件(UIWebView)与工具栏控件(UIToolbar),我们可以自制一个小型的浏览器,其功能如下: 1,输入网址,点击“Go”按钮加载网页 2,加载过程中有进度条,同时可以点击停止按钮取 ...
随机推荐
- About JavaScript
JavaScript Function, Constructor function, Plain Object (expression function, closure) Maintainable ...
- Gnome Tetravex
zoj1008:http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemCode=1008 题目意思是有一个游戏,即给出一个图,该图是由n*n个 ...
- 【Linux】鸟哥的Linux私房菜基础学习篇整理(四)
1. VI按键说明.(1)移动光标的方法h或向左箭头:光标向左移动一个字符:j或向下箭头:光标向下移动一个字符:k或向上箭头:光标向上移动一个字符:l或向右箭头:光标向右移动一个字符:进行多次移动,如 ...
- 【算法Everyday】第一日 二叉查找树转双向链表
算法题目链接:http://bbs.csdn.net/topics/350093707 题目 // 1.把二元查找树转变成排序的双向链表 // 题目: // 输入一棵二元查找树,将该二元查找树转换成一 ...
- POJ3126 Prime Path(BFS)
题目链接. AC代码如下: #include <iostream> #include <cstdio> #include <cstring> #include &l ...
- bzoj2424
比较简单的费用流,一目了然 ; type node=record next,point,flow,cost:longint; end; ..] of node; q:..] of longint; p ...
- BZOJ 1030 [JSOI2007]文本生成器
1030: [JSOI2007]文本生成器 Time Limit: 1 Sec Memory Limit: 162 MBSubmit: 2624 Solved: 1087[Submit][Stat ...
- Linux企业级开发技术(3)——epoll企业级开发之epoll模型
EPOLL事件有两种模型: Edge Triggered (ET) 边缘触发 只有数据到来,才触发,不管缓存区中是否还有数据. Level Triggered (LT) 水平触发 只要有数据都会触 ...
- Javascript面向对象编程(三):非构造函数的继承 by 阮一峰
今天是最后一个部分,介绍不使用构造函数实现"继承". 一.什么是"非构造函数"的继承? 比如,现在有一个对象,叫做"中国人". var Ch ...
- HDU-2087 剪花布条
http://acm.hdu.edu.cn/showproblem.php?pid=2087 剪花布条 Time Limit: 1000/1000 MS (Java/Others) Memory ...