Dies ist mein Code:CALayer: Einzelpixelzeile sieht aus wie 2 Pixel
int columns 3;
int columnWidth = self.layer.bounds.size.width/3;
for (int c = 1; c < columns; c++) {
CALayer *layer = [CALayer layer];
layer.frame = (CGRectMake(columnWidth * c + 0.5, 0.5, 1, self.layer.bounds.size.height));
layer.backgroundColor = myColor;
[grid addSublayer:layer];
}
Ich verstehe, dass ich die x und y 0,5 Pixel zu verschieben, was ist das, was ich getan habe, aber es zeigt immer noch als 2 eine Pixelzeile anstelle von 1.
Beachten Sie, dass bei einem Retina-Gerät 1 Punkt = 2 Pixel ist. –
@ H2CO3 - Ich bin nicht auf Retina, aber es ist gut, daran zu denken. Wie würde man zwischen den beiden unterscheiden? Gibt es eine Konstante? Ich dachte, Kakao würde alle Übersetzungen automatisch machen. Aber das ist ein anderes Thema. – Wesley
Wo zeichnest du die Linie? Ich sehe nur ein Rechteck (layer.frame) mit einer auf den seltsamen Wert 1 eingestellten Breite. – AlexWien