【问题标题】:UIImage gradientUIImage渐变
【发布时间】:2013-03-21 15:06:55
【问题描述】:

好吧,我有一个 UITableView,每个单元格上都有一个 UIImage。一切正常,但现在我想更改图像并使其像此链接的正确图片:

http://www.cultofmac.com/wp-content/uploads/2012/06/Screen-Shot-2012-06-07-at-13.06.31.jpg

每张图片都有一种我非常想实现的渐变。有什么建议可以实现吗?

【问题讨论】:

  • 尝试对UIImageView的图层进行遮罩,如果您使用漂亮的渐变图像进行遮罩,它会得到相同的结果。
  • @holex 你能给我一些代码吗,我在这里很迷茫
  • 确保在图像上添加透明渐变时合成新图像,否则表格会像垃圾一样滚动。
  • @escrafford 合成新图像是什么意思?是真的,我已经实现了,而且滚动得像废话
  • 从其他两个图像创建一个新图像,这样就没有透明度了。每次您尝试滚动时,它都会为您重新计算所有透明部分。这篇文章应该这样做:stackoverflow.com/questions/7313023/…

标签: objective-c uitableview uiimage gradient


【解决方案1】:

ARC:

UIImageView *_imageView = ...; // this will be masked
UIImage *_layerImage = [UIIMage imageNamed:@"maskImage.png"]; // mask image
CALayer *_layer = [CALayer layer];
_layer.frame = CGRectMake(0.f, 0.f, _layerImage.size.width, _layerImage.size.height);
_layer.contents = (__bridge id)([_layerImage CGImage]);
[_imageView.layer setMask:_layer];

别忘了

  • 包含 QuartzCore.framework,以及
  • #import <QuartzCore/QuartzCore.h> 行;

蒙版图像仅适用于alpha 通道,因此图像上alpha1.f 时,原始视图的该部分将完全可见,alpha0.f原始视图的那部分将是完全透明的。

【讨论】:

    猜你喜欢
    • 2016-02-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-04-21
    • 1970-01-01
    • 1970-01-01
    • 2022-01-19
    • 1970-01-01
    相关资源
    最近更新 更多