import UIKit
public extension UIView {
/// 獲取 控件高度
func heightToFit() -> CGFloat {
self.setNeedsLayout()
self.layoutIfNeeded()
return self.systemLayoutSizeFitting(UIView.layoutFittingCompressedSize).height
}
/// 圓角
func maskRadius(radius: CGFloat, corners: UIRectCorner) {
guard self.bounds != CGRect.zero else { return }
let bezierPath = UIBezierPath(roundedRect: self.bounds, byRoundingCorners: corners, cornerRadii: CGSize(width: radius, height: radius))
let shapeLayer = CAShapeLayer()
shapeLayer.frame = self.bounds
shapeLayer.path = bezierPath.cgPath
self.layer.mask = shapeLayer
}
/// 邊框 + 圓角
func maskBorder(radius: CGFloat, corners: UIRectCorner, fillColor: UIColor, strokeColor: UIColor, borderWidth: CGFloat) {
guard self.bounds != CGRect.zero else { return }
let bezierPath = UIBezierPath(roundedRect: self.bounds, byRoundingCorners: corners, cornerRadii: CGSize(width: radius, height: radius))
let shapeLayer = CAShapeLayer()
shapeLayer.frame = self.bounds
shapeLayer.path = bezierPath.cgPath
self.layer.mask = shapeLayer
let borderLayer = CAShapeLayer()
borderLayer.frame = self.bounds
borderLayer.path = bezierPath.cgPath
borderLayer.lineWidth = borderWidth
borderLayer.fillColor = fillColor.cgColor
borderLayer.strokeColor = strokeColor.cgColor
self.layer.addSublayer(borderLayer)
}
/// 漸變色
func addGradientLayer(start: UIColor, end: UIColor) {
let gradientLayer = CAGradientLayer()
gradientLayer.startPoint = CGPoint(x: 0, y: 0)
gradientLayer.endPoint = CGPoint(x: 0, y: 1)
gradientLayer.locations = [0, 1]
gradientLayer.colors = [start.cgColor, end.cgColor]
self.layer.addSublayer(gradientLayer)
}
}
[Swift] UIView+Extension
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。
相關(guān)閱讀更多精彩內(nèi)容
- JKSwiftExtension[https://github.com/JoanKing/JKSwiftExten...
- 在日常代碼中,我們常常要重復(fù)用到view的一些屬性,比如view.center.x、view.frame.orig...
- 在OC中我們通過類目Category做UIView屬性寬展,方便我們獲取常用屬性,(x、y、寬、高等)在Swift...
- 前言: 我們?cè)陂_發(fā)工作中很有可能遇到需要view相應(yīng)各種手勢(shì)的需求,使用RunTime+Extension的形式為...