如何创建一个从下到上包含0到1不透明度值(alpha值)的UIView?
我想创建一个 UIView,其中包含逐渐增加的不透明度值。也就是说,UIView 的底部将以 0.0 作为其 alpha 值开始,并且在 UIView 的顶部应以 1.0 结束。是否可以提出这样的观点?或者我应该分离该视图并给它们不同的 alpha 值?
提前致谢
I want to create a UIView that contains gradually increasing opacity value in it. That is, the UIView's bottom will start with 0.0 as its alpha value and it should end with 1.0 at the top of the UIView. Is it possible to make such view? Or should i separate that view and give them the various alpha value?
Thanks in Advance
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
为了将来参考,这种效果的术语是“渐变”。
您可以创建一个后面带有渐变图像的视图:
UIView
后面创建一个UIImageView
UIView
' s 背景颜色清除。UIImageView
的背景图像设置为您创建的渐变 PNG。渐变 PNG 可以是 1 像素宽,例如 64 像素高(或更高,具体取决于您希望渐变看起来有多平滑)。在绘画程序中制作它(GIMP 是一个不错的程序)。
纯粹在代码中执行此操作的一种方法是使用
CAGradientLayer< /代码>
:
For future reference, the term for that sort of effect is a
gradient
.You can make a view with a gradient image behind it:
UIImageView
behind theUIView
you want to set a gradient onUIView
's background color to clear.UIImageView
to a gradient PNG you have created.The gradient PNG can be 1px wide and say 64px high (or higher, depending on how smooth you want the gradient to look). Make it in a paint program (GIMP is a decent one).
A way to do it purely in code is using
CAGradientLayer
: