このリンクから次のコードを見つけました:iphone-Core Graphics / Quartz 2Dで角の丸い長方形を描く方法は?- スタックオーバーフロー
これがコードです。
- (UIImageView*)roundImageView:(CGFloat)rad {
CGContextRef context = UIGraphicsGetCurrentContext();
CGContextSetRGBStrokeColor(context, 1.0, 1.0, 1.0, 1.0);
CGRect rrect = ivprofilePicture.bounds;
CGFloat radius = rad;
CGFloat minx = CGRectGetMinX(rrect), midx = CGRectGetMidX(rrect), maxx = CGRectGetMaxX(rrect);
CGFloat miny = CGRectGetMinY(rrect), midy = CGRectGetMidY(rrect), maxy = CGRectGetMaxY(rrect);
CGContextMoveToPoint(context, minx, midy);
CGContextAddArcToPoint(context, minx, miny, midx, miny, radius);
CGContextAddArcToPoint(context, maxx, miny, maxx, midy, radius);
CGContextAddArcToPoint(context, maxx, maxy, midx, maxy, radius);
CGContextAddArcToPoint(context, minx, maxy, minx, midy, radius);
CGContextClosePath(context);
CGContextDrawPath(context, kCGPathFillStroke);
UIImageView *imageView;
return imageView;
}
私はそれを次のように呼びます:
myImageView = [self roundImageView:10];
問題は、このコードからUIImageViewをどのように返すかです。radiusパラメーターを受け取り、UIImageViewを返すメソッドを既に作成しました。上記のコードのrectは、元のUIImageViewの境界にもすでに設定されています。
ただし、このコードから角が丸いUIImageViewをどのように返すのかわかりません。
誰かアイデアはありますか?
ありがとう!