kann eine bestimmte rect von UIview verschiedene alpha ..?

8

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??

    
Ankit Srivastava 03.08.2012, 09:01
quelle

6 Antworten

22

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 ist

Sie können jede zusätzliche Logik schreiben, die erforderlich ist, um die maskRect zu ändern und 'setNeedsDisplay' in dieser Ansicht aufzurufen.

    
Gopal R 01.02.2013, 11:17
quelle
2

Nach viel Mühe habe ich die Lösung gefunden.

Hier ist der Code dafür !!

%Vor%

Nur, Logik war hier wichtig!

    
Bharath 28.01.2013 18:58
quelle
1

Warum machst du das nur so:

  1. Erstellen Sie eine Bildansicht und setzen Sie ihr Alpha so, dass es halbtransparent wird
  2. Dann schneiden Sie einfach den Teil des Bildes, der vollständig transparent sein soll, und erstellen Sie eine neue Bildansicht mit Alpha = 1 und setzen Sie das zugeschnittene Bild nur über der halbtransparenten Bildansicht:)
Bhupendra 29.01.2013 08:06
quelle
0

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.

    
weed 03.08.2012 12:55
quelle
0

Ich denke du kannst CGContext

verwenden %Vor%

Siehe Link unten CGContext-Referenz oder CGGradient-Referenz

    
Sathe_Nagaraja 28.01.2013 10:02
quelle
0

Eine einfache Methode

%Vor%     
Justin Mathews 29.01.2013 12:35
quelle

Tags und Links