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

三方:

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. 自己动手修改Robotium代码(下)

    public void takeScreenshot(){   View decorView = viewFetcher.getRecentDecorView(viewFetcher.getWindo ...

  2. bootstrap_table_class表格样式实例

    <div class="container"> <h2>表格</h2> <!--table标签级别的样式说明如下: ----.table ...

  3. Javascript-基础概念总结

    [作用域]javascript中的作用域可以理解为一个语句执行的环境大小,有全局的作用域,函数作用域和eval作用域.在JS中没有块级作用域.讲到作用域,不得不讲执行环境,执行环境在JS中是最为重要的 ...

  4. java 之 建造者模式(大话设计模式)

    建造者模式,在笔者看来比较试用于,定制一个业务流程,而流程的细节又不尽相同,每个细节又必不可少,这时应考虑使用建造者模式. 大话设计模式-类图 先看下笔者写的一个简单的例子. /** * 所有建造过程 ...

  5. P1092 虫食算

    题目传送:https://www.luogu.org/problem/show?pid=1092 #include <iostream> #include <cstring> ...

  6. RBAC(Role-Based Access Control,基于角色的权限访问控制)—权限管理设计

    RBAC模型的核心是在用户和权限之间引入了角色的概念,将用户和权限进行解耦,采用用户确定角色,角色分配权限,进而间接达到给用户分配角色的目的 这样采用的方式优点在于 (1)降低管理成本--由于一个角色 ...

  7. 基于Node的高性能MVC框架

    赶上公司去Windows化,有一大波.net站点需要转成Node.js,于是自己就顺便琢磨一个通用的Node版MVC框架. 经过几天的努力,beta版终于面世了!因为其高性能的特点,特地命名node- ...

  8. HDU1075-What Are You Talking About

    What Are You Talking About Time Limit: 10000/5000 MS (Java/Others)    Memory Limit: 102400/204800 K ...

  9. github与git之间怎么建立连接

    git是一款强大的分布式版本控制系统,到底是什么意思呢?其实我也不知道,以后知道了再补上吧.下面咱们来讲一下github怎么与你电脑上的git建立起连接关系. 一.你要有一个github账号. 去百度 ...

  10. 地图开发GIS的应用有哪些?

    GIS的应用领域有哪些? 地理信息系统在最近的30多年内取得了惊人的发展,广泛应用于资源调查.环境评估.灾害预测.国土管理.城市规划.邮电通讯.交通运输.军事公安.水利电力.公共设施管理.农林牧业.统 ...