Ich habe eine benutzerdefinierte UIView erstellt, die die drawRect-Methode mit Quartz überschreibt. Ich habe es schließlich geschafft, alles so zu machen, wie ich es möchte, aber es gibt ein wirklich eigenartiges Verhalten, das ich nicht verstehen kann.Quartz 2D-Zeichnung RGB in Alpha verblasst UIView
Wenn ich die benutzerdefinierte UIView als => definiert verwenden (@interface TagView: UIView) mit seinem Alpha-Wert auf 1 gesetzt, dann zieht es genau so, wie ich erwarten würde es zu.
Das Problem, das mir begegnet, ist, dass ich in einer bestimmten Instanz es mit einem Alpha von 0,3 zeichnen möchte, so habe ich die Ansicht zu IB mit einem Alpha von 0,3 hinzugefügt. Ich zeichne eine Anzahl von Artefakten mit verschiedenen RGB-Werten, die mit CGContextSetRGBStrokeColor und CGContextSetRGBFillColor gesetzt werden. Das alles funktioniert gut, bis ich versuche, einen Wert ungleich null für alle 3 RGB-Werte zu setzen.
Um zu veranschaulichen, wenn ich folgendes verwende: CGContextSetRGBStrokeColor (Kontext, 1, 1, 0, 1); dann bekomme ich eine gelbe Linie. Wenn ich verwende: CGContextSetRGBStrokeColor (Kontext, 1, 1, 0.001, 1); Ich bekomme überhaupt nichts.
Es scheint so lange, wie ich einen der RGB-Werte auf 0 setzt, ist es glücklich und zeichnet, aber sobald alle drei Werte nicht Null sind, scheitert es. Auch das funktioniert alles gut, wenn das Alpha der Ansicht auf 1.0 gesetzt ist (dh ich kann weiß ohne irgendwelche Probleme zeichnen).
Hat jemand irgendwelche Gedanken oder Vorschläge, was könnte dies verursachen oder wie ich das Problem diagnostizieren könnte?