BKSwiftKit 是巴爷汇的基础模块 提供了 UIKit 和 Foundation 的功能拓展,提供了一些大部分项目可能用到的一些拓展和公共方法,作为组件化模块的其中一部分基础模块.
cocoapods集成方式 : pod 'BKSwiftKit', '~> 1.1.0'
GitHub地址 : https://github.com/ZhaoBingDong/BKSwiftKit
UIView+Extension
从 XIB 加载一个 view
public class func viewFromNib() -> UIView?
获取屏幕宽度和高度
public let KScreenWidth = UIScreen.main.bounds.size.width
public let KScreenHeight = UIScreen.main.bounds.size.height
移除所有子视图
public func removeAllSubviews() {
while self.subviews.count > 0 {
let view = self.subviews.last
view?.removeFromSuperview()
}
}
设置 button 不同状态下的背景颜色
public func setBackgroundColor(backgroundColor color: UIColor? ,forState state: UIControlState)
/// 获取该label展示当前文字所需最小size,当没有文字时,返回宽度为0,高度为font。lineHeight的size
public var displaySize: CGSize
UIColor+Extension
// 根据 RGB 生成一个颜色,透明度是可以设置 0.0 ~ 1.0
public class func RGBAColor(_ red : CGFloat ,green : CGFloat , blue : CGFloat,alpha : CGFloat) -> UIColor
// 根据 RGB 生成一个颜色,透明度是1.0
public class func RGBColor(_ red : CGFloat ,green : CGFloat , blue : CGFloat) -> UIColor
/// 根据一个字符串生成一个 UIColor 透明度 0.0~1.0
public class func colorWithHexString(_ hexString : String, alpha : CGFloat) -> UIColor
/// 生成一个随机色
public class func RandomColor() -> UIColor
String+Extension
/// 截取字符串到某个位置 如果 index 不合法会返回一个空字符串
public func subString(to index :Int) -> String
/// 从某个位置开始截取字符串
public func subString(from index : Int) -> String
/// 从某个范围截取字符串 比如 2这个位置 截取 3个长度
public func subString(from range : StringRange)
StringRange 是自定义的结构体 类似于 NSRange 有个location 和 length 属性
/// json 字符串转成 NSData
public func jsonToData()
Foundation+Extension 对应 Foundation 一些数据类型进行拓展
根据一个类找到这个类字符串 通过类 找到它所在workspace下的类名 适用于 MJExtension 等转换模型时将 json 数据转换成模型属性 ["users" : stringFromClass(UserInfo)] 通过类找到这个类名字符串
public func stringFromClass(_ aClass : AnyClass?)
从一个字符串生成一个类 字符串生成一个 AnyClass 类型
public func classFromString(_ className : String?) -> AnyClass?
/// 某个对象的类名
public class func className() -> String?
Array和 Dicationary 转成 JSON 字符串
public extension Dictionary {
public var jsonString : String {
get {
if let data = try? JSONSerialization.data(withJSONObject: (self), options: []),
let string = NSString(data: data, encoding: String.Encoding.utf8.rawValue) as String? {
return string
}
return ""
}
}
}
public extension Array {
public var jsonString : String {
get {
if let data = try? JSONSerialization.data(withJSONObject: (self), options: []),
let string = NSString(data: data, encoding: String.Encoding.utf8.rawValue) as String? {
return string
}
return ""
}
}
}
更多实用功能等你来发掘