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

标签 iphone uiview opacity alpha

我想创建一个 UIView,其中包含逐渐增加的不透明度值。也就是说,UIView 的底部将以 0.0 作为其 alpha 值开始,并且在 UIView 的顶部应以 1.0 结束。是否可以提出这样的观点?或者我应该分离该 View 并给它们不同的 alpha 值?

提前致谢

最佳答案

为了将来引用,这种效果的术语是渐变

您可以创建一个 View ,其后面带有渐变图像:

  1. 在要设置渐变的 UIView 后面创建一个 UIImageView
  2. UIView 的背景颜色设置为透明。
  3. 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];

关于iphone - 如何创建一个从下到上包含0到1不透明度值(alpha值)的UIView?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7480832/

相关文章:

iphone - 如何从 coredata 中读取 NSData

c# - 将 AVAudioRecorder.ToUrl() 与 MonoTouch 4.0.1 一起使用返回 null

ios - 如何在 viewWillAppear 中将 UIScrollView 滚动到底部,当使用自动布局时,没有视觉动画

jquery - 不透明度在浏览器中变得透明

jquery - 我的一张图片不受 CSS 不透明度的影响

ios - 如何管理支持推送通知和 InAppPurchase 的应用程序的多个构建方案..?

iphone - 阻止 iCloud 同步数据(使用 .nosync?)

ios - 用另一个 UIView 替换 UIView,保持约束

iPhone iOS UITapGestureRecognizer 是否可以用某个触摸点初始化识别器?

Html Css 图像悬停不透明度变化和文本出现而文本不透明度也改变了吗?