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