【发布时间】:2012-06-01 14:43:28
【问题描述】:
给定 iOS 上的任意 UIView,有没有办法使用 Core Graphics(想到 CAGradientLayer)对其应用“前景透明”渐变?
我不能使用标准的 CAGradientLayer,因为背景比 UIColor 更复杂。我也不能覆盖 PNG,因为当我的子视图沿其父垂直滚动视图滚动时,背景会发生变化(见图)。
我有一个不优雅的后备:让我的 uiview 剪辑它的子视图,并在滚动父滚动视图时移动背景的预渲染渐变 png。
【问题讨论】:
-
背景是什么?当滚动视图滚动时,它是如何“改变”的?
-
正如@jab 在下面的回答中提到的那样,一般认为这个问题可能更有用,因为将渐变蒙版应用于任何视图,而不是将渐变蒙版应用于 scroll i> 视图(就像 OP 请求一样)。创建这样的容器视图(使用下面描述的方法之一),然后将滚动视图添加为子视图,可以创建所需的效果。看起来人们试图将渐变应用到滚动视图本身并没有得到他们想要的东西时有些困惑。
标签: iphone ios core-graphics cagradientlayer