我有使用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;
没有帮助。
我的问题是第二个视图不符合第一个视图(它根本不是通过自动布局自动调整),正如您可以在图像上找到的那样。
我失踪了什么?