public struct CWSize {
public var top:CGFloat = 0
public var leading:CGFloat = 0
public var bottom:CGFloat = 0
public var trailing:CGFloat = 0
public var width:CGFloat = 0
public var height:CGFloat = 0
public var size:CGSize {
return CGSize(width: width, height: height)
}
}
Swift
我声明UIView的扩展
public extension UIView {
public func cw_makeSize(_ block:(_ size: CWSize) -> Void) {
let size = CWSize()
block(size)
objc_setAssociatedObject(self, "CWSize", size, objc_AssociationPolicy.OBJC_ASSOCIATION_RETAIN_NONATOMIC)
}
public func cw_makeConstraints(_ block:(_ maker: ConstraintMaker, _ size: CWSize) -> Void) {
guard let size = objc_getAssociatedObject(self, "CWSize") as? CWSize else {
return
}
self.snp.makeConstraints { (maker) in
block(maker,size)
}
}
}
加载更多评论