Я пытаюсь добавить изогнутую рамку вокруг загруженного изображения и отображать его в UITableViewCell.
В большом представлении (то есть одно изображение на экране) у меня есть следующее:
productImageView = [[UIImageView alloc] initWithImage:[UIImage imageNamed:product.image]];
[productImageView setAlpha:0.4];
productImageView.frame = CGRectMake(10.0, 30.0, 128.0, 128.0);
CALayer *roundedlayer = [productImageView layer];
[roundedlayer setMasksToBounds:YES];
[roundedlayer setCornerRadius:7.0];
[roundedlayer setBorderWidth:2.0];
[roundedlayer setBorderColor:[[UIColor darkGrayColor] CGColor]];
[self addSubview:productImageView];
В ячейке табличного представления для быстрой прокрутки необходимо нарисовать изображение в методе drawRect объекта UIView, который затем добавляется в пользовательскую ячейку.
так в drawRect
- (void)drawRect:(CGRect)rect {
...
point = CGPointMake(boundsX + LEFT_COLUMN_OFFSET, UPPER_ROW_TOP);
//CALayer *roundedlayer = [productImageView layer];
//[roundedlayer setMasksToBounds:YES];
//[roundedlayer setCornerRadius:7.0];
//[roundedlayer setBorderWidth:2.0];
//[roundedlayer setBorderColor:[[UIColor darkGrayColor] CGColor]];
//[productImageView drawRect:CGRectMake(boundsX + LEFT_COLUMN_OFFSET, UPPER_ROW_TOP, IMAGE_WIDTH, IMAGE_HEIGHT)];
//
[productImageView.image drawInRect:CGRectMake(boundsX + LEFT_COLUMN_OFFSET, UPPER_ROW_TOP, IMAGE_WIDTH, IMAGE_HEIGHT)];
Так что это хорошо работает, но если я удалю комментарий и попытаюсь показать округленный слой CA, прокрутка будет очень медленной.
Чтобы исправить это, я полагаю, мне придется визуализировать этот контекст изображения в другом объекте изображения, сохранить его в массиве, а затем установить это изображение как-то вроде:
productImageView.image = (UIImage*)[imageArray objectAtIndex:indexPath.row];
У меня вопрос "Как мне сделать этот слой на изображении?"
ТИА.