SDAutoLayout
SDAutoLayout copied to clipboard
SDAutoLayou+Swift
_label.sd_resetLayout .leftSpaceToView(_container, kLabelMargin) .topSpaceToView(_container, kLabelTopMargin) .autoHeightRatio(0);
这样的代码换在swift里面应该怎么写??
_ = infoImageView.sd_layout() .topSpaceToView(timeLabel, 10)? .leftEqualToView(infoTitleLabel)? .rightEqualToView(infoTitleLabel)? .autoHeightRatio(16.0/9)
亲测。插件最新版本在swift 不能用了
可以吧 我剛試了 功能正常啊
` extension UIView { @discardableResult public func layout() -> SDAutoLayoutModel { return sd_layout() } }
extension SDAutoLayoutModel { /* 设置距离其它view的间距 */ @discardableResult public func topTo(_ view: UIView, _ space: CGFloat) -> SDAutoLayoutModel { return topSpaceToView(view, space)! }
@discardableResult
public func bottomTo(_ view: UIView, _ space: CGFloat) -> SDAutoLayoutModel {
return bottomSpaceToView(view, space)!
}
@discardableResult
public func leftTo(_ view: UIView, _ space: CGFloat) -> SDAutoLayoutModel {
return leftSpaceToView(view, space)!
}
@discardableResult
public func rightTo(_ view: UIView, _ space: CGFloat) -> SDAutoLayoutModel {
return rightSpaceToView(view, space)!
}
/* 设置x、y、width、height、centerX、centerY 值 */
@discardableResult
public func x(is value: CGFloat) -> SDAutoLayoutModel {
return xIs(value)!
}
@discardableResult
public func y(is value: CGFloat) -> SDAutoLayoutModel {
return yIs(value)!
}
@discardableResult
public func width(is value: CGFloat) -> SDAutoLayoutModel {
return widthIs(value)!
}
@discardableResult
public func height(is value: CGFloat) -> SDAutoLayoutModel {
return heightIs(value)!
}
@discardableResult
public func centerX(is value: CGFloat) -> SDAutoLayoutModel {
return centerXIs(value)!
}
@discardableResult
public func centerY(is value: CGFloat) -> SDAutoLayoutModel {
return centerYIs(value)!
}
/* 设置宽度或者高度等于参照view的多少倍 */
@discardableResult
public func widthRatioTo(_ view: UIView, _ value: CGFloat) -> SDAutoLayoutModel {
return widthRatioToView(view, value)!
}
@discardableResult
public func heightRatioTo(_ view: UIView, _ value: CGFloat) -> SDAutoLayoutModel {
return heightRatioToView(view, value)!
}
@discardableResult
public func autoHeight(_ ratio: CGFloat) -> SDAutoLayoutModel {
return autoHeightRatio(ratio)!
}
@discardableResult
public func autoWidth(_ ratio: CGFloat) -> SDAutoLayoutModel {
return autoWidthRatio(ratio)!
}
@discardableResult
public func isWidthEqualToHeight() -> SDAutoLayoutModel {
return widthEqualToHeight()!
}
@discardableResult
public func isHeightEqualToWidth() -> SDAutoLayoutModel {
return heightEqualToWidth()!
}
/* 设置最大宽度和高度、最小宽度和高度 */
@discardableResult
public func maxWidth(_ value: CGFloat) -> SDAutoLayoutModel {
return maxWidthIs(value)!
}
@discardableResult
public func maxHeight(_ value: CGFloat) -> SDAutoLayoutModel {
return maxHeightIs(value)!
}
@discardableResult
public func minWidth(_ value: CGFloat) -> SDAutoLayoutModel {
return minWidthIs(value)!
}
@discardableResult
public func minHeight(_ value: CGFloat) -> SDAutoLayoutModel {
return minHeightIs(value)!
}
/* 设置和某个参照view的边距相同 */
@discardableResult
public func leftEqualTo(_ view: UIView) -> SDAutoLayoutModel {
return leftEqualToView(view)!
}
@discardableResult
public func rightEqualTo(_ view: UIView) -> SDAutoLayoutModel {
return rightEqualToView(view)!
}
@discardableResult
public func topEqualTo(_ view: UIView) -> SDAutoLayoutModel {
return topEqualToView(view)!
}
@discardableResult
public func bottomEqualTo(_ view: UIView) -> SDAutoLayoutModel {
return bottomEqualToView(view)!
}
@discardableResult
public func centerXEqualTo(_ view: UIView) -> SDAutoLayoutModel {
return centerXEqualToView(view)!
}
@discardableResult
public func centerYEqualTo(_ view: UIView) -> SDAutoLayoutModel {
return centerYEqualToView(view)!
}
/* 填充父view(快捷方法) */
public func spaceToSuperViewIs(_ value: UIEdgeInsets) {
spaceToSuperView(value)
}
@discardableResult
public func offsetIs(_ value: CGFloat) -> SDAutoLayoutModel {
return offset(value)!
}
} ` 稍微自己写一下拓展,避免在swift下报黄色警告⚠️,然后还有一堆的"?" 或者"!"