我在我的应用中使用imageView
,我将cornerRadius
设置为循环播放。一切正常,但是当我在iPhone 6和6 Plus中验证它时,边缘处的某些部分似乎被切断了,例如。下图中的顶部:
请注意,我还没有添加3x启动图片,因此应用程序实际上显示为原始版本的缩放版本。
我假设这个问题是因为缩放因子而发生的。即我在代码中指定的宽度不是我在设备中实际看到的宽度。此外,我认为如果我使用autoLayout,这将被修复。
我的假设是否正确?如果没有,请提供解释和解决方案。谢谢:)!
EDIT1:
我的imageView大小为35 x 35
。
我将角半径设置如下:
[commentCell.profileImageView.layer setCornerRadius:17.5];
[commentCell.profileImageView.layer setMasksToBounds:YES];
EDIT2:
浮点似乎不是这样,因为我尝试了相同的框架尺寸36 x 36
和角半径18
。
答案 0 :(得分:1)
您的假设是正确的,但也有另一种解决方案:
[commentCell.profileImageView.layer setCornerRadius:profileImageView.frame.size.width/2];
答案 1 :(得分:1)
它也发生在我身上,可能是由于浮动四舍五入 你可以尝试两件事:
→
CAShapeLayer *circleClipLayer=[CAShapeLayer layer];
UIBezierPath * circlePath = [UIBezierPath bezierPath];
[circlePath addArcWithCenter:yourcenter radius:yourradius startAngle:0 endAngle:2 * M_PI clockwise:YES];
circleClipLayer.path = circlePath.CGPath;
yourimageview.layer.mask=circleClipLayer;