如何创建一个从下到上包含 0 到 1 不透明度值(alpha 值)的 UIView?

Posted

技术标签:

【中文标题】如何创建一个从下到上包含 0 到 1 不透明度值(alpha 值)的 UIView?【英文标题】:How to create a UIView that contains 0 to 1 opacity value (alpha value) from bottom to top? 【发布时间】:2011-11-20 19:17:31 【问题描述】:

我想创建一个 UIView,其中包含逐渐增加的不透明度值。也就是说,UIView 的底部将以 0.0 作为其 alpha 值开始,它应该以 1.0 结束于 UIView 的顶部。有可能提出这样的看法吗?或者我应该分离那个视图并给他们不同的 alpha 值?

提前致谢

【问题讨论】:

【参考方案1】:

为了将来参考,这种效果的术语是gradient

您可以制作一个带有渐变图像的视图:

    在要设置渐变的UIView 后面创建UIImageViewUIView 的背景颜色设置为清除。 将UIImageView 的背景图片设置为您创建的渐变PNG。

渐变 PNG 可以是 1 像素宽,也可以是 64 像素高(或更高,取决于您希望渐变看起来的平滑程度)。在绘画程序中制作它(GIMP 是一个不错的程序)。

一种纯粹在代码中实现的方法是使用CAGradientLayer

CAGradientLayer *gradient = [CAGradientLayer layer];
gradient.frame = self.view.bounds;
gradient.colors = [NSArray arrayWithObjects:
                   (id)[[UIColor colorWithWhite: 0.0 alpha:0.0] CGColor],
                   (id)[[UIColor colorWithWhite: 0.0 alpha:1.0] CGColor], nil];
gradient.startPoint = CGPointMake(0.5, 0.0); // default; bottom of the view
gradient.endPoint = CGPointMake(0.5, 1.0);   // default; top of the view
[self.view.layer insertSublayer:gradient atIndex:0];

【讨论】:

谢谢它的工作.. 我们需要在 NSArray 中的每个对象之前添加代码 (id) 以避免警告消息..

以上是关于如何创建一个从下到上包含 0 到 1 不透明度值(alpha 值)的 UIView?的主要内容,如果未能解决你的问题,请参考以下文章

使用firebase聊天时如何从下到上设置数据

xcode - 从下到上的 TableView 行

在jQuery中从下到上动画div而不是从上到下[重复]

如何在集合视图中设置项目从下到上快速

iOS UIScrollView 以编程方式从下到上添加元素

如何使用 C 从下到上读取行?