У меня есть задача нарисовать разделительную линию высотой 2 пикселя между ячейками UIView.Верхняя верхняя линия 1px должна иметь цвет # F1F1F1, а нижняя верхняя линия 1px должна иметь цвет #DDDDDD. В результате на симуляторе iPhone с дисплеем Retina эти 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).Я попытался изменить параметры "непрозрачный" и "clearsContextBeforeDrawing".Тот же результат - на iPhone Retina все в порядке, для iPad - линия искажена.
Есть идеи о том, что вызывает это и как это исправить?