搭建项目常用的方法属性,欢迎追加

三方:

source 'https://github.com/CocoaPods/Specs.git'
platform :ios, ‘8.0’
use_frameworks! target 'swift' do
pod 'SwiftyJSON', '~> 3.0'
pod 'MJExtension', '~> 3.0.13'
pod 'MBProgressHUD', '~> 1.0.0'
pod 'AFNetworking', '~> 3.1.0'
pod 'SDWebImage', '~> 3.8.2'
pod 'XMLReader', '~> 0.0.2'
pod 'GDataXML-HTML', '~> 1.3.0'
pod 'Reachability', '~> 3.2'
pod 'FMDB', '~> 2.6.2'
pod 'SDAutoLayout'
pod 'Alamofire', '~> 4’ end

扩展:

1、MBProgressHUD-Extension http://pan.baidu.com/s/1jIpAngM

2、ToolExtension: 用十六进制颜色创建UIColor

extension UIColor {

    static func Xrgb(_ r: CGFloat, _ g: CGFloat, _ b: CGFloat) -> UIColor {
return UIColor.init(red: r / ,
green: g / ,
blue: b / ,
alpha: 1.0)
} static func XcolorFromHex(_ Hex: UInt32) -> UIColor {
return UIColor.init(red: CGFloat((Hex & 0xFF0000) >> ) / 255.0,
green: CGFloat((Hex & 0xFF00) >> ) / 255.0,
blue: CGFloat((Hex & 0xFF)) / 255.0,
alpha: 1.0)
} }

类:

使用方法:

  let heigth = XiPhoneHeight(height: )

  let image = XImageName(name: "iamge")

SwiftPCH.swift

//适配高 宽
func XiPhoneHeight(height:CGFloat) -> CGFloat { return UIScreen.main.bounds.size.height * (height / 1334.0) } func XiPhoneWidth(width:CGFloat) -> CGFloat { return UIScreen.main.bounds.size.width * (width / 750.0) } // 获取屏幕的 高宽
func XScreeWidth() -> CGFloat { return UIScreen.main.bounds.size.width
} func XScreenHeight() -> CGFloat { return UIScreen.main.bounds.size.height
} //系统相关 //系统iOS版本
func XiOSVersion() -> String { return UIDevice.current.systemVersion } //判断系统版本是不是。。。
func XiOSVersionOfString(string:String) -> Bool { if string.compare(UIDevice.current.systemVersion as String).rawValue == {
return true
}else{ return false
} } //model
func XiOSVersionModel() -> String {
return UIDevice.current.model
} // 需要给 地位 添加系统文件 不需要请注掉
//定位 // let locationManager = CLLocationManager()
// var currentLocation:CLLocation
// var lock = NSLock() // locationManager.delegate = self
// locationManager.desiredAccuracy = kCLLocationAccuracyNearestTenMeters
// locationManager.distanceFilter = 50
// locationManager.requestAlwaysAuthorization()
//
//
//
// //委托传回定位,获取最后一个
// func locationManager(manager: CLLocationManager, didUpdateLocations locations: [CLLocation]) {
// lock.lock()
// currentLocation = locations.last //注意:获取集合中最后一个位置
// print("定位经纬度为:\(currentLocation.coordinate.latitude)")
// //一直发生定位错误输出结果为0:原因是我输出的是currentLocation.altitude(表示高度的)而不是currentLoction.coordinate.latitude(这个才是纬度)
// print(currentLocation.coordinate.longitude)
// lock.unlock()
//
// }
// func locationManager(manager: CLLocationManager, didFailWithError error: NSError) {
// print("定位出错拉!!\(error)")
// }
//
// //属性方法 //颜色
//backgroundcolor
func XbackgroundColor() -> UIColor { return UIColor.Xrgb(, , )
} func XClearColor() -> UIColor {
return UIColor.clear
} func XWhiteColor() -> UIColor {
return UIColor.white
} //图片相关 //获取本地图片
// func ImageName(name:String) -> UIImage {
// return UIImage(named: name) as! String
// } func XImageData(data:Data) -> UIImage {
return UIImage(data: data)!
} //需要给Md5 创建桥接文件,不需要此方法 请注掉
//数据处理
func Xmd5String(str:String) -> String{
let cStr = str.cString(using: String.Encoding.utf8);
let buffer = UnsafeMutablePointer<UInt8>.allocate(capacity: )
CC_MD5(cStr!,(CC_LONG)(strlen(cStr!)), buffer)
let md5String = NSMutableString();
for i in ..< {
md5String.appendFormat("%02x", buffer[i])
}
free(buffer)
return md5String as String
} //UI布局 label button //Label frame:上左 宽高
func XlabelFrame(x:CGFloat,y:CGFloat,width:CGFloat,height:CGFloat,text:String,textcolor:UIColor,font:CGFloat,backgroundColor:UIColor) -> UILabel { let label = UILabel(frame: CGRect(x: x, y:y, width: width, height:height))
label.text = text
label.textColor = textcolor
label.font = UIFont.systemFont(ofSize: font)
label.backgroundColor = backgroundColor return label
} //无frame
func Xlabel(text:String,textcolor:UIColor,font:CGFloat,backgroundColor:UIColor) -> UILabel { let label = UILabel()
label.text = text
label.textColor = textcolor
label.font = UIFont.systemFont(ofSize: font)
label.backgroundColor = backgroundColor return label
} //UIbutton
func XbuttonFrame(x:CGFloat,y:CGFloat,width:CGFloat,height:CGFloat,text:String,textcolor:UIColor,font:CGFloat,backgroundColor:UIColor,cornerRadius:CGFloat) -> UIButton { let button = UIButton(frame: CGRect(x: x, y:y, width: width, height:height))
button.setTitle(text, for: .normal)
button.setTitleColor(textcolor, for: .normal)
button.titleLabel?.font = UIFont.systemFont(ofSize: font)
if cornerRadius> {
button.backgroundColor = backgroundColor
button.layer.cornerRadius = cornerRadius
} button.layer.masksToBounds = true return button
} //UIImageview
func XimageViewFrame(x:CGFloat,y:CGFloat,width:CGFloat,height:CGFloat,name:String,backgroundColor:UIColor,cornerRadiu:CGFloat) -> UIImageView { let imageView = UIImageView(frame: CGRect(x: x, y:y, width: width, height:height))
imageView.image = UIImage(named:name)
imageView.backgroundColor = backgroundColor
if cornerRadiu> {
imageView.layer.cornerRadius = cornerRadiu
imageView.layer.masksToBounds = true
} imageView.contentMode = .scaleAspectFit //保持比例 return imageView
}

Swift3.0 创建工程常用的类、三方、以及扩展 1.5的更多相关文章

  1. cocos2d-x 3.0 创建工程的模板

    将下面的代码拷贝到文本文件中,重命名文件为 cocos3.0创建工程.bat @echo off echo -------------------------create project with p ...

  2. swift3.0 创建经典界面的九宫图

    网络上很多例子都是早期的 Object-C的效果,现在用到Swift3.0开发,故把网络上的例子翻译过来,达到基本的效果.可是现在这个还不算很满意,再下次继续进行优化 override func vi ...

  3. swift3.0 创建一个app引导页面

    swift毕竟不像是oc ,第三方的框架很多,更何况是3.0,自己动手写了个引导页面,看得上我代码的麻友可以拿去用 引导页面有三个部分构成,scrollview用语切换引导视图,pageControl ...

  4. 青瓷qici - H5小游戏 抽奖机 0 创建工程

    安装运行平台需要nodejs,具体方法请参照官方说明文档. 运行后打开了一个空空的窗口. 首先我们进行工程设置,菜单>工程>设置 菜单里面设置我们游戏的名称,到时候会显示在游戏的title ...

  5. cocos2d-x.0创建工程

    $ python create-multi-platform-projects.py -p PompaDroid -k cn.philon.pompadroid -l cpp

  6. Swift3.0变化分享

    Swift 3.0 做出的改变很大,在这篇文章中,我将尽我所能,利用代码样例给大家解释Swift 3.0最重要(要命)的改变,希望大家能够做好升级Swift 3.0 的准备.Swift 3.0的改变不 ...

  7. swift3.0变化总结

    Swift 3.0 做出的改变很大,在这篇文章中,我将尽我所能,利用代码样例给大家解释Swift 3.0最重要(要命)的改变,希望大家能够做好升级Swift 3.0 的准备.Swift 3.0的改变不 ...

  8. Swift2.3 --> Swift3.0 的变化

    Swift3.0语法变化 首先和大家分享一下学习新语法的技巧: 用Xcode8打开自己的Swift2.3的项目,选择Edit->Convert->To Current Swift Synt ...

  9. Swift3.0语法变化

    写在前面 首先和大家分享一下学习新语法的技巧:用Xcode8打开自己的Swift2.3的项目,选择Edit->Convert->To Current Swift Syntax- 让Xcod ...

随机推荐

  1. Oracle数据库应用

    Oracle数据库应用 一:.Oracle数据库应用知识 二:表空间和用户权限管理 表空间: 表空间是数据逻辑结构的一个重要组件,表空间可以存放各种应用对象,如表,索引.而每个表空间由一个或者多个数据 ...

  2. java多线程系列(九)---ArrayBlockingQueue源码分析

    java多线程系列(九)---ArrayBlockingQueue源码分析 目录 认识cpu.核心与线程 java多线程系列(一)之java多线程技能 java多线程系列(二)之对象变量的并发访问 j ...

  3. 第二个MapReduce

    大家在学习Hadoop的MapReduce的时候,90%的第一个程序都是WordCount,所以在这里分享一下我的第二个MapReduce程序.对于学习编程语言的人来说,有时候代码是最好的沟通方式之一 ...

  4. php 的开发工具

    通过上篇我们已经配置好了php的开发环境,我们就可以在这个模拟的环境下运行我们编写的php代码了. 在编写代码前,先安装一个自己喜欢的代码编辑器. 1.sublime text Sublime Tex ...

  5. ubuntu下mysql提示Changed limits: max_open_files:1024解决办法

    在配置我的md5解密网站cmd5.la的时候,mysql5.7出现了max_open_files: 1024, max_connections: 214,warning: Changed limits ...

  6. ExpandableListView使用

    相关博客 ExpandableListView使用 博客内容记录 场景 有时候,使用ListView并不能满足应用程序所需要的功能.有些应用程序需要多组ListView,这时候我们就要使用一种新的控件 ...

  7. c# AutoMapper 使用方式

    安装方式:使用vs自带的nuget管理工具,搜索AutoMapper ,选择第一个安装到你的项目即可. 我从网上找了一些资料,下载了个demo,然后自己又写了一遍,我把AutoMapper 的使用分为 ...

  8. RaspberryPi2B使用bcm2835c库控制GPIO

    RaspberryPi2B使用bcm2835c库控制GPIO 网上有很多RaspberryPi控制GPIO的方法,有Python.WiringPi.bcm2835 C library 使用bcm283 ...

  9. VS2015远程调试

    原文链接 VS2015远程调试   在PayPal支付时,PayPal回调函数一直报错,本地没有外网IP,没有办法在本地调试,需要远程调试: 1.找到远程调试的文件夹: 找到对应的服务器的型号:64位 ...

  10. 垃圾陷阱洛谷dp

    题目描述 卡门――农夫约翰极其珍视的一条Holsteins奶牛――已经落了到“垃圾井”中.“垃圾井”是农夫们扔垃圾的地方,它的深度为D(2<=D<=100)英尺. 卡门想把垃圾堆起来,等到 ...