【发布时间】:2017-07-26 13:15:05
【问题描述】:
如this answer 中所述,可以使用内容过滤器(在此特定情况下为“色调调整”内容过滤器)更改进度条的颜色等。
您似乎只能在 Xcode 的 Interface Builder 中实现这一点;但是,我想以编程方式启用/禁用内容过滤器。因此,例如,我想启用色调调整内容过滤器,以便进度条变为绿色,并稍后从函数中禁用它,以便恢复为蓝色。这可能吗?
【问题讨论】:
-
该答案适用于 macOS 和
NSView文件。 developer.apple.com/library/content/documentation/Cocoa/… 我尝试了几件事 - 链接到 QuartzCore 和 Quartz,添加一个 nib 文件,无论如何 - 对于 iOS 项目,Effects Inspector没有找到。对于 macOS 项目,它确实如此。但是 - 您应该能够 (a) 访问 IB 中的轨道色调或 (b) 完全按照您希望在代码中而不是 IB 中执行的操作。 -
嘿,对不起,如果我不清楚(我只是把它作为一个标签),但我 am 实际上是在谈论 macOS。但是,我可以尝试显示两个看起来不同的进度条,并隐藏一个或另一个。不是一个好的解决方案,但据我所知它会起作用
-
使用 Xcode 8.3 我创建了一个非常简单的 macOS 项目(Cocoa 应用程序),打开故事板,单击视图控制器,效果检查器按钮(右侧最后一个)就在那里。单击“过滤器”下拉菜单上的“+”按钮给了我一系列可供选择的东西,包括“色调调整”。那是你找不到的吗?
-
这确实是我想要的,但我希望能够以编程方式启用/禁用该色调。
-
我几乎是一名 iOS 开发人员,但我实际上拒绝使用 IB! (老前辈,自 1984 年以来一直从事 IT 工作)。我发现你可以在 IB 中做的任何事情都应该可以在代码中做。我经常使用 CoreImage,我猜测在使用进度视图的
CALayer和导入QuartzCore之间,您可能需要针对色调进行编码的工具。