AveCommonHelperViews

UIKit 常用辅助视图 (ShapeView, GradientView, ContentTextView, RoundRectView, CircleView, FixedSizeView)

这是什么?

这是一小部分常用的 UIView 子类集合。例如,GradientView 封装了 CAGradientLayer,并支持动态 UIColor 以及基于 UIView 的动画

ContentTextView

一个小的 UITextView 子类,禁止选择文本和滚动,但允许与链接交互。如果您想显示带有嵌入链接的复杂文本,但不希望文本被选中,这将非常有用。

GradientView

一个封装了 CAGradientLayer 的视图,支持动态 UIColor 和基于 UIView 的动画

常用辅助方法包括

每个方法都有等效的 init 初始化方法

示例

let fadeOutView = GradientView(verticallyFadingOutFrom: .white)
addSuview(fadeOutView)

RoundRectView

一个提供方便访问 cornerRadius (圆角半径), borderWidth (边框宽度) 和 borderColor (边框颜色) 的视图。支持动态 UIColor 和基于 UIView 的动画

示例

let roundRectView = RoundRectView(cornerRadius: 12, borderWidth: 1, borderColor: .separator, clipsToBounds: true)

ShapeView

一个封装了 CAShapeLayer 的视图。支持动态 UIColor 和基于 UIView 的动画

示例

let shapeView = ShapeView()
shapeView.fillColor = .red
shapeView.path = UIBezierPath(ovalIn: CGRect(x:0, y: 0, width: 100, height: 100))

CircleView

一个始终保持圆形并通过调整 cornerRadius 来实现的视图。大小可以通过 fixedSize 设置,并且是可动画的。

示例

let circleView = CircleView(size: 44, backgroundColor: .red, clipsToBounds: true)

let otherCircle = CircleView(size: 20, backgroundColor: .red)

FixedSizeView

一个设置了约束使其始终保持固定大小、固定宽度或固定高度的视图。可以使用参数轻松更改大小,并且大小更改可以强制其父视图进行布局。

当您有一个固定且可能动态变化的固定大小时,此视图非常有用:您无需跟踪约束。

示例

let view = FixedSizedView(width: 100, automaticallyLayoutSuperviewOnChange: .whenInAnimationBlock)
view.fixedWidth = 200

let otherView = FixedSizedView(size: CGSize(width: 100, height: 200))
otherView.fixedHeight = 30