以编程方式在Swift 3中设置内容过滤器

时间:2017-07-26 13:15:05

标签: swift macos

this answer中所述,可以使用内容过滤器更改进度条的颜色(在此特定情况下," Hue Adjust"内容过滤器)

看起来你只能在Xcode的界面生成器中实现这一点;但是,我想以编程方式启用/禁用内容过滤器。因此,例如,我想启用Hue调整内容过滤器以使进度条变为绿色,并在稍后的某个函数内禁用它,以便返回蓝色。这可能吗?

2 个答案:

答案 0 :(得分:1)

错误的开始之后,答案似乎很简单:

// Need to set this in code. The settings in IB don't carry over when
// I change the contentFilters
progressIndicator.minValue = 0
progressIndicator.maxValue = 100
progressIndicator.doubleValue = 50

let hueAdjust = CIFilter(name: "CIHueAdjust", withInputParameters: ["inputAngle": NSNumber(value: 1.7)])!
progressIndicator.contentFilters = [hueAdjust]

答案 1 :(得分:0)

您可以使用进度视图的progressTintColor属性。

progressView.progressTintColor = .green