2013-03-21 3 views
0

Ну, у меня есть UITableView с UIImage на каждую ячейку. Все работает отлично, но теперь я хотел бы изменить имидж и сделать его как на рисунке справа от этой ссылке:Градиент UIImage

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

Каждое изображение имеет вид градиента Я действительно хотел бы реализовать. Любое предложение для его достижения?

+0

попробуйте замаскировать слой 'UIImageView', он даст вам тот же результат, если вы используете красивое изображение градиента для маскировки. – holex

+0

@holex. Можете ли вы дать мне какой-нибудь код, пожалуйста, я здесь довольно утерян. – sergiocg90

+0

. Удостоверьтесь, что вы собрали новое изображение, добавляя прозрачный градиент над своим изображением, или ваша таблица будет прокручиваться как дерьмо. – escrafford

ответ

2

с 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 каналом, поэтому где alpha является 1.f на изображении, что часть первоначального вида будет видима полностью, где alpha является 0.f, что часть из оригинальный вид будет полностью прозрачным.

+0

ОК, получил его. Спасибо! – sergiocg90

Смежные вопросы