Swift3.0 创建工程常用的类、三方、以及扩展 1.5
搭建项目常用的方法属性,欢迎追加
三方:
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 / 255, green: g / 255, blue: b / 255, alpha: 1.0) } static func XcolorFromHex(_ Hex: UInt32) -> UIColor { return UIColor.init(red: CGFloat((Hex & 0xFF0000) >> 16) / 255.0, green: CGFloat((Hex & 0xFF00) >> 8) / 255.0, blue: CGFloat((Hex & 0xFF)) / 255.0, alpha: 1.0) } }
类:
使用方法:
let heigth = XiPhoneHeight(height: 80) 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 == 0 { 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(230, 230, 230) } 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: 16) CC_MD5(cStr!,(CC_LONG)(strlen(cStr!)), buffer) let md5String = NSMutableString(); for i in 0 ..< 16{ 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>0 { 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>0 { imageView.layer.cornerRadius = cornerRadiu imageView.layer.masksToBounds = true } imageView.contentMode = .scaleAspectFit //保持比例 return imageView }