MKGradientView
高度可定制的基于 Core Graphics 的渐变视图
功能
可用的渐变类型
- 线性(轴向)
- 辐射(圆形)
- 圆锥形(角向)
- 双线性(四点)
安装
CocoaPods
要通过 CocoaPods 安装 MKGradientView
,将以下行添加到 Podfile 中:
pod 'MKGradientView'
Carthage
通过Carthage安装MKGradientView
,请将以下行添加到您的Cartfile中
github "maxkonovalov/MKGradientView"
使用方法
请查看示例Xcode项目
Interface Builder
在Interface Builder中可以设置简单的两种颜色渐变。将您的视图的自定义类设置为MKGradientView
。
您可以指定以下自定义的可检查的属性
渐变类型
起始颜色
结束颜色
起始点
结束点
代码
let gradientView = GradientView(frame: CGRect(x: 0, y: 0, width: 100, height: 100))
gradientView.type = .linear
gradientView.colors = [.red, .green]
gradientView.locations = [0, 1]
gradientView.startPoint = CGPoint(x: 0, y: 0)
gradientView.endPoint = CGPoint(x: 1, y: 1)
view.addSubview(gradientView)
要设置一个Bilinear
渐变,您需要指定colors2
数组
let gradientView = GradientView(frame: CGRect(x: 100, y: 0, width: 100, height: 100))
gradientView.type = .bilinear
gradientView.colors = [.red, .yellow]
gradientView.colors2 = [.blue, .cyan]
view.addSubview(gradientView)
性能
GradientLayer
基于图像,其后端算法的性能高度取决于生成图像的大小。为了加快速度,应使用尽可能小的层尺寸。这可以通过GradientLayer
的contentsScale
属性进行调整,其中1.0
是性能/质量平衡的理想值。使用像0.5
这样的较低值可以加快渲染时间或将其设置为等于UIScreen.main.scale
以获得精确的结果。
要求
- iOS 8.0
- Xcode 10, Swift 4+
许可证
MKGradientView
是基于 MIT 许可证可用。更多信息请参见 LICENSE 文件。