Ios 图像角半径仅在左下角和右下角

Ios 图像角半径仅在左下角和右下角,ios,objective-c,Ios,Objective C,我想在圆角半径准确的形状只有底部角落左右。我已经做了,但底部形状看起来不像是完全圆的,所以我如何解决这个问题 我也有同样的问题,我是这样解决的: - (void)setMaskTo:(UIView*)view { CAShapeLayer *rect = [[CAShapeLayer alloc] init]; [rect setFrame:CGRectMake(self.view.frame.origin.x, self.view.frame.origin.y, self.view.frame

我想在圆角半径准确的形状只有底部角落左右。我已经做了,但底部形状看起来不像是完全圆的,所以我如何解决这个问题


我也有同样的问题,我是这样解决的:

- (void)setMaskTo:(UIView*)view {
CAShapeLayer *rect = [[CAShapeLayer alloc] init];
[rect setFrame:CGRectMake(self.view.frame.origin.x, self.view.frame.origin.y, self.view.frame.size.width, self.view.frame.size.height/2)];
rect.backgroundColor = ([UIColor grayColor]).CGColor;

UIBezierPath *shape = [UIBezierPath bezierPathWithOvalInRect:CGRectMake(0,rect.frame.size.height/2,self.view.frame.size.width,self.view.frame.size.height/2)];
CAShapeLayer *shapeLayer = [CAShapeLayer layer];
shapeLayer.path = shape.CGPath;
shapeLayer.fillColor = [UIColor grayColor].CGColor;

CAShapeLayer *viewMask = [[CAShapeLayer alloc] init];
[viewMask addSublayer:shapeLayer];
[viewMask addSublayer:rect];

view.layer.mask = viewMask;
}

查看以下链接,查看此链接可能对您有帮助。UIBezierPath*maskPath=[UIBezierPath bezierPathWithRoundedRect:self.imageView.bounds byRoundingCorners:(UIRectCornerBottomLeft | UIRectCornerBottomRight)cornerRadii:CGSizeMake(10.0,10.0)];CAShapeLayer*maskLayer=[[CAShapeLayer alloc]init];maskLayer.frame=self.imageView.bounds;maskLayer.path=maskPath.CGPath;self.imageView.layer.mask=maskLayer;我用了那个代码,但不是底部的圆形。看看我在Botton的图片,当这个代码在iphone6上运行时,imageview在右边留下了一些宽度的空间。好的,我用了你的代码并给出了CGSizeMake(150.0,150.0)]但结果和我在底部的图片一样,不是完全的圆形,当这个代码在iPhone6上运行时,宽度和高度是一样的,它在宽度上占用了一些空间。
- (void)setMaskTo:(UIView*)view {
CAShapeLayer *rect = [[CAShapeLayer alloc] init];
[rect setFrame:CGRectMake(self.view.frame.origin.x, self.view.frame.origin.y, self.view.frame.size.width, self.view.frame.size.height/2)];
rect.backgroundColor = ([UIColor grayColor]).CGColor;

UIBezierPath *shape = [UIBezierPath bezierPathWithOvalInRect:CGRectMake(0,rect.frame.size.height/2,self.view.frame.size.width,self.view.frame.size.height/2)];
CAShapeLayer *shapeLayer = [CAShapeLayer layer];
shapeLayer.path = shape.CGPath;
shapeLayer.fillColor = [UIColor grayColor].CGColor;

CAShapeLayer *viewMask = [[CAShapeLayer alloc] init];
[viewMask addSublayer:shapeLayer];
[viewMask addSublayer:rect];

view.layer.mask = viewMask;
}