Ich wollte eine Bildansicht, die in anderen Teilen halbtransparent und in der Mitte völlig transparent ist .. siehe dieses Bild ..
Ich habe es geschafft, aber es ist nicht die beste Art und Weise .. kann ich nur eine rect in gelben Linien transparent ...?
BEARBEITEN : Ist es möglich, das Alpha eines bestimmten Rechtecks einer Ansicht zu ändern??
Platzieren Sie eine benutzerdefinierte UIView über die Ansicht, die das Bild, die Größe und die Position zeigt, damit sie sich genau überschneiden. In der benutzerdefinierten Ansicht die Methode drawRect
%Vor%wobei maskRect das Rechteck ist, das transparent angezeigt werden soll. Stellen Sie sicher, dass die Hintergrundfarbe der benutzerdefinierten Ansicht auf 'clearColor'
gesetzt istSie können jede zusätzliche Logik schreiben, die erforderlich ist, um die maskRect zu ändern und 'setNeedsDisplay' in dieser Ansicht aufzurufen.
Warum machst du das nur so:
Ich denke, Sie können vielleicht die Außenseite des ausgewählten Rechtecks ändern. Wie für das Bild unten, sollten Sie 4 Alphas von 4 Rechtecken. Zum Beispiel setzen Sie zunächst weiße Hintergrundfarbe, dann die 4 Alpas von Rechtecken auf 0,5.
Ich denke, Sie würden besser CALayer anstelle von UIView verwenden.
Ich wünsche, dass mein Rat Ihnen hilft.
Ich denke du kannst CGContext
verwenden %Vor%Siehe Link unten CGContext-Referenz oder CGGradient-Referenz
Tags und Links objective-c iphone ios cgrect