UIView(QMUI_Border)
@interface UIView (QMUI_Border)
UIView (QMUI_Border) 为 UIView 方便地显示某几个方向上的边框。
系统的默认实现里,要为 UIView 加边框一般是通过 view.layer 来实现,view.layer 会给四条边都加上边框,如果你只想为其中某几条加上边框就很麻烦,于是 UIView (QMUI_Border) 提供了 qmui_borderPosition 来解决这个问题。
Warning
注意如果你需要为 UIView 四条边都加上边框,请使用系统默认的 view.layer 来实现,而不要用 UIView (QMUI_Border),会浪费资源,这也是为什么 QMUIViewBorderPosition 不提供一个 QMUIViewBorderPositionAll 枚举值的原因。-
设置边框的位置,默认为 QMUIViewBorderLocationInside,与 view.layer.border 一致。
Declaration
Objective-C
@property (nonatomic) QMUIViewBorderLocation qmui_borderLocation;
Swift
var qmui_borderLocation: QMUIViewBorderLocation { get set }
-
设置边框类型,支持组合,例如:
borderPosition = QMUIViewBorderPositionTop|QMUIViewBorderPositionBottom
。默认为 QMUIViewBorderPositionNone。Declaration
Objective-C
@property (nonatomic) QMUIViewBorderPosition qmui_borderPosition;
Swift
var qmui_borderPosition: QMUIViewBorderPosition { get set }
-
边框的大小,默认为PixelOne。请注意修改 qmui_borderPosition 的值以将边框显示出来。
Declaration
Objective-C
@property (nonatomic) CGFloat qmui_borderWidth;
Swift
var qmui_borderWidth: CGFloat { get set }
-
边框的颜色,默认为UIColorSeparator。请注意修改 qmui_borderPosition 的值以将边框显示出来。
Declaration
Objective-C
@property (nonatomic, strong, nullable) UIColor *qmui_borderColor;
Swift
var qmui_borderColor: UIColor? { get set }
-
虚线 : dashPhase默认是0,且当dashPattern设置了才有效 qmui_dashPhase 表示虚线起始的偏移,qmui_dashPattern 可以传一个数组,表示“lineWidth,lineSpacing,lineWidth,lineSpacing…”的顺序,至少传 2 个。
Declaration
Objective-C
@property (nonatomic) CGFloat qmui_dashPhase;
Swift
var qmui_dashPhase: CGFloat { get set }
-
Undocumented
Declaration
Objective-C
@property(nullable, nonatomic, copy) NSArray <NSNumber *> *qmui_dashPattern
Swift
var qmui_dashPattern: [NSNumber]? { get set }
-
border的layer
Declaration
Objective-C
@property (nonatomic, strong, readonly, nullable) CAShapeLayer *qmui_borderLayer;
Swift
var qmui_borderLayer: CAShapeLayer? { get }