swift——uiwebview的使用
首先,创建一个label:
agreeDeal = UILabel()
let tap = UITapGestureRecognizer.init(target: self, action: #selector(LoginViewController.showPrivatePolicy))
agreeDeal.addGestureRecognizer(tap)
agreeDeal.userInteractionEnabled = true
//富文本,不同字体颜色大小和颜色
let labelString = NSLocalizedString("Login_agree deal", comment: "") as NSString
let rang = labelString.rangeOfString("《")
let firstRang = NSMakeRange(0, rang.location)
let secondRang = NSMakeRange(rang.location, labelString.length - rang.location)
let labelText = NSMutableAttributedString(string: labelString as String as String)
labelText.addAttributes([NSForegroundColorAttributeName:UIColor.init(white: 1, alpha: 0.8),NSFontAttributeName:UIFont.boldSystemFontOfSize(12)], range: firstRang)
labelText.addAttributes([NSForegroundColorAttributeName:UIColor.redColor(),NSFontAttributeName:UIFont.boldSystemFontOfSize(12)], range: secondRang)
agreeDeal.attributedText = labelText
agreeDeal.textAlignment = .Center
agreeDeal.numberOfLines = 0
bottomView.addSubview(agreeDeal)
agreeDeal.snp_makeConstraints { (make) in
make.centerX.equalTo(bottomView)
make.width.equalTo(kscreenWidth)
make.top.equalTo(facebookBtn.snp_bottom).offset(10)
make.height.equalTo(50)
}
跳到下一个web view的界面:
import UIKit
import MBProgressHUD
private let url = "http://www.coollang.com/appcontent/responsibility?type=6"
class PrivatePolicyController: UIViewController,NavigationBackProtocol {
@IBOutlet weak var webView: UIWebView!
override func viewDidLoad() {
super.viewDidLoad()
configureNav()
loadWeb()
}
func configureNav()
{
let titleStr = NSLocalizedString("Login_Privacy Policy", comment: "隐私政策")
title = titleStr
leftNavigationItem()
}
func loadWeb(){
let webUrl = NSURL(string: url)
let request = NSURLRequest.init(URL: webUrl!, cachePolicy: .UseProtocolCachePolicy, timeoutInterval:requestOverTime)
webView.loadRequest(request)
webView.delegate = self
}
}
extension PrivatePolicyController:UIWebViewDelegate
{
func webViewDidStartLoad(webView: UIWebView) {
MBProgressHUD.showHUDAddedTo(webView, animated: true)
}
func webViewDidFinishLoad(webView: UIWebView) {
MBProgressHUD.hideHUDForView(webView, animated: true)
}
func webView(webView: UIWebView, didFailLoadWithError error: NSError?) {
MBProgressHUD.showTextWithMessageInBottom(error?.localizedDescription ?? "")
}
}
swift——uiwebview的使用的更多相关文章
- swift - UIWebView 和 WKWebView(iOS12 之后替换UIWebView)
1.iOS12 之前 使用 UIWebView 1> private lazy var webV : UIWebView = { let v = UIWebView(frame: self.vi ...
- UIWebView swift
// // ViewController.swift // UILabelTest // // Created by mac on 15/6/23. // Copyright (c) 2015年 fa ...
- [Swift通天遁地]一、超级工具-(5)使用UIWebView(网页视图)加载本地页面并调用JavaScript(脚本)代码
★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★➤微信公众号:山青咏芝(shanqingyongzhi)➤博客园地址:山青咏芝(https://www.cnblogs. ...
- [Swift通天遁地]一、超级工具-(4)使用UIWebView(网页视图)加载HTML和Gif动画
★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★➤微信公众号:山青咏芝(shanqingyongzhi)➤博客园地址:山青咏芝(https://www.cnblogs. ...
- Swift版本UIWebView长按保存图片
起因 最近需要做个IOS的壳子,用到长按保存图片的功能,发现百度出来的全是OC语法的例子,很多都不是全面,只能自己写一份Swift版本的,图片下面附上Github地址 效果图 Github地址:htt ...
- Swift 实践之UIWebView
1.选中工程,点击右键,New File>在iOS下选中Othe>Empty,生成一个.js的脚本文件,将代码粘贴过去保存; var script = document.createEle ...
- 利用UIWebView打造一个炫酷的视频背景视图(OC & Swift)
http://www.cocoachina.com/ios/20151023/13860.html 2015-10-6更新:适配 Swift2.0 如有需要,可以通过pjin.elvin@gmail. ...
- 一步一步学习Swift之(四)玩转UIWebView
实现原理: 1.通过UIWebView的stringByEvaluatingJavaScriptFromString方法来触发脚本 2.通过自定义连接来触发oc代码 实现过程 @IBOutlet we ...
- iOS开发——UI篇Swift篇&UIWebView
UIWebView //返回按钮事件 @IBAction func backButtonClick() { self.navigationController?.popViewControllerAn ...
随机推荐
- 安装centos 7后恢复windows 2008R2 (Windows7)启动项
安装CentOS 7,安装之后发现Win2008R2的启动项不见了(Windows7同理).一般安装Linux过程中会自动识别windows系统并添加引导项,centos的问题在于默认不支持ntfs分 ...
- FileOutputStream VS FileWriter
当我们使用Java往文件写入数据的时候,我们有两种方式,使用FileOutputStream或FileWriter. FileOutputStream: File fout = new File(fi ...
- Java Se :Map 系列
之前对Java Se中的线性表作了简单的说明.这一篇就来看看Map. Map系列的类,并不是说所有的类都继承了Map接口,而是说他们的元素都是以<Key, Value>形式设计的. Dic ...
- JavaScript 产生指定范围随机数
function selectFrom(lowerValue, upperValue) { var choices = upperValue - lowerValue + 1; return Math ...
- 烂泥:vcenter5.5无AD下的安装与配置
本文由ilanniweb提供友情赞助,首发于烂泥行天下 想要获得更多的文章,可以关注我的微信ilanniweb. 公司现在的虚拟化使用的基本上都是vsphere,目前大约有7台物理机,为了更好的管理虚 ...
- linux进程间通信-信号量(semaphore)
一 为什么要使用信号量 为了防止出现因多个程序同时访问一个共享资源而引发的一系列问题,我们需要一种方法,它可以通过生成并使用令牌来授权,在任一时刻只能有一个执行线程访问 代码的临界区域.临界区域是指执 ...
- 虚拟机群安装多个hadoop集群时遇到的问题
背景,原来在我的虚拟机集群(nn1,nn2)中安装的是cdh23502,后来做升级实验,升到cdh26550,因为生产中使用的环境是cdh23502,所以再次切换回去. 切换的过程中,遇到一些问题,特 ...
- Gvr SDK for Unity 分析(二)
前言 关于google vr sdk的具体使用,传送门 Gvr SDK for Unity 分析(一) Google Daydream平台已经整合进Google VR SDK 本文环境:Unity5. ...
- java 27 - 6 反射之 通过配置文件运行类中的方法
在以前,如果我们想要调用一个类中的方法,只能这样子: 例: 有Cat和Dog两个类,里面有eat和run两个成员方法: public class Dog { public void eat() { S ...
- Eclipse自动打开实现类原型的工具
http://eclipse-tools.sourceforge.net/implementors/ I always use this implementors plugin to find all ...