私はカスタムのUITableViewを、テキストとMKMapViewを含む各セルで構築しています。私は、セル内のマップの「アイコン」ビューに角を丸くして、これが問題であるように思っています。MKMapViewの角を丸くしたもの
私は自分のUITableViewCellと私のUITableViewCellに追加する私のMapIcon
(カスタムマップビュー)の両方にカスタム図面を使用しています。
MapIcon
はMKMapView
のサブクラスであり、次のように描画方法は、見える:
- (ボイド)のdrawRect:(CGRect)RECT {
CGContextRef context = UIGraphicsGetCurrentContext(); CGContextSetLineWidth(context, strokeWidth); CGContextSetStrokeColorWithColor(context,self.strokeColor.CGColor); CGContextSetFillColorWithColor(context, self.rectColor.CGColor); CGFloat radius = arcRadius; CGFloat Xmin = CGRectGetMinX(rect); CGFloat Xmid = CGRectGetMidX(rect); CGFloat Xmax = CGRectGetMaxX(rect); CGFloat Ymin = CGRectGetMinY(rect); CGFloat Ymid = CGRectGetMidY(rect); CGFloat Ymax = CGRectGetMaxY(rect);
CGContextBeginPath(コンテキスト)。 CGContextMoveToPoint(context、Xmin、Ymid); CGContextAddArcToPoint(コンテキスト、Xmin、Ymin、Xmid、Ymin、radius); CGContextAddArcToPoint(コンテキスト、Xmax、Ymin、Xmax、Ymid、radius); CGContextAddArcToPoint(コンテキスト、Xmax、Ymax、Xmid、Ymax、radius); CGContextAddArcToPoint(コンテキスト、Xmin、Ymax、Xmin、Ymid、radius); CGContextClosePath(context);
CGContextDrawPath(context, kCGPathFillStroke);
CGContextClip(コンテキスト)。 CGContextEndTransparencyLayer(context); }
、以下のスクリーンショットで見ることができるようにコーナーは、rouned取得しないマップ:
alt text http://img190.imageshack.us/img190/948/picture1vmk.png
がしかし、もし私はUIViewのからサブクラスと同じを使用するようにMapIcon
を変更カスタム描画方法、ビューは画像の下に、完全にクリップされます:
alt text http://img503.imageshack.us/img503/6269/picture2xkq.png
MKMapViewをそのような方法でサブクラス化してクリップすることを期待しているのは間違っていますか? これらのコーナーを四捨五入したものは他にもありますか?
乾杯、 Kaspa
は、それが終了したときに、ここでのMapViewを置くことはクラッシュすることをあなたは見つかりましたし、ビューを再エンカウンターしますか? –