在UICmageView中创建UIImageView,在UICollectionView中使用完全适合的形状

时间:2015-08-12 21:56:46

标签: ios objective-c uiimageview uicollectionviewcell

我有使用UIImageView-Letters lib的UIImageView。 我想创建一个新的UIImageView,它放在前一个的顶部,完全符合它的形状和大小。

创建第一个视图:

[cell.photo setImageWithString:@"N A"
                         color:[UIColor redColor]
                      circular:YES];

创建第二个视图:

- (UIImageView *)createRecordAnimationViewFrom:(UIImageView *)imageView {
    CGRect rect = CGRectMake(imageView.bounds.origin.x,
                             imageView.bounds.origin.y,
                             imageView.bounds.size.width,
                             imageView.bounds.size.height);
    UIBezierPath *bezierPath = [UIBezierPath bezierPathWithRoundedRect:rect
                                                          cornerRadius:imageView.bounds.size.width / 2];

    UIImageView *progressView = [[UIImageView alloc] initWithFrame:rect];
    progressView.backgroundColor = [UIColor blackColor];
    progressView.alpha = 0.5;
    CAShapeLayer *maskLayer = [CAShapeLayer layer];

    maskLayer.frame = progressView.frame;
    maskLayer.path = [bezierPath CGPath];
    progressView.layer.mask = maskLayer;
    progressView.tag = 101;

    return progressView;
}

将一个附加到另一个:

[cell.photo addSubview:[self createRecordAnimationViewFrom:cell.photo]];` 

来自

- (UICollectionViewCell *)collectionView:(UICollectionView *)collectionView
                  cellForItemAtIndexPath:(NSIndexPath *)indexPath {`

已尝试使用

cell.photo.layer.masksToBounds = NO;
cell.photo.clipsToBounds = YES;

没有帮助。

我的问题是第二个视图不符合第一个视图(它根本不是通过自动布局自动调整),正如您可以在图像上找到的那样。

我失踪了什么?

enter image description here

0 个答案:

没有答案