UIViewセル間に2pxの高さのセパレータラインを描画する作業があります。トップ1pxハイラインの色は#F1F1F1、ボトム1pxハイラインの色は#DDDDDD です。その結果、RetinaディスプレイのiPhoneシミュレータでは、これらの2つのラインが異なる色(#F1F1F1と#DDDDDDパーツ)で明確に見えます。 - 線がひずんでいて、そのような色の線がありません。そのような線の描画に使用iPadの線画で奇妙な問題が発生しました
コードフラグメント:描画線のためのホルダーとして使用されるビュー・オブジェクトについて
CGContextRef context = UIGraphicsGetCurrentContext();
CGContextSaveGState(context);
CGContextSetLineWidth(context, 1.);
CGContextSetStrokeColor(context, CGColorGetComponents(
[[GlobalHelper colorFromHexRGB:@"#F1F1F1"] CGColor]));
CGContextMoveToPoint(context, 0., line_y);
CGContextAddLineToPoint(context, rect.size.width, line_y);
CGContextStrokePath(context);
CGContextRestoreGState(context);
CGContextSaveGState(context);
CGContextSetLineWidth(context, 1.);
CGContextSetStrokeColor(context,
CGColorGetComponents([[GlobalHelper colorFromHexRGB:@"#DDDDDD"] CGColor]));
line_y += 1.;
CGContextMoveToPoint(context, 0., line_y);
CGContextAddLineToPoint(context, rect.size.width, line_y);
CGContextStrokePath(context);
CGContextRestoreGState(context);
(これはのUITableViewCellのサブクラスです)。私は、パラメータ "opaque"と "clearsContextBeforeDrawing"の変更を試みました。同じ結果 - iPhone RetinaですべてOK、iPad用 - 線が歪んでいます。
これを引き起こしている原因や解決方法についてのアイデアはありますか?