Abgerundete Ecken von MKMapView

8

Ich baue eine benutzerdefinierte UITableView mit jeder Zelle, die ein Stück Text und eine MKMapView enthält. Ich möchte, dass die Ansicht "Symbol" der Karte in der Zelle abgerundete Ecken hat und dies scheint ein Problem zu sein.

Ich verwende benutzerdefinierte Zeichnung sowohl für meine UITableViewCell als auch für meine MapIcon (benutzerdefinierte Kartenansicht), die ich meiner UITableViewCell hinzufüge.

MapIcon ist eine Unterklasse von MKMapView und die Zeichenmethode sieht wie folgt aus:

  

- (void) drawRect: (CGRect) rect {

%Vor%      

CGContextBeginPath (Kontext);       CGContextMoveToPoint (Kontext, Xmin, Ymid);       CGContextAddArcToPoint (Kontext, Xmin, Ymin, Xmid, Ymin, Radius);       CGContextAddArcToPoint (Kontext, Xmax, Ymin, Xmax, Ymid, Radius);       CGContextAddArcToPoint (Kontext, Xmax, Ymax, Xmid, Ymax, Radius);       CGContextAddArcToPoint (Kontext, Xmin, Ymax, Xmin, Ymid, Radius);       CGContextClosePath (Kontext);

%Vor%      

CGContextClip (Kontext);     CGContextEndTransparencyLayer (Kontext);   }

Und die Karten bekommen nicht die Ecken aufgeraut, wie im folgenden Screenshot zu sehen ist:

Alternativtext http://img190.imageshack.us/img190/948/picture1vmk.png

Wenn ich jedoch die MapIcon von UIView in die Unterklasse ändere und dieselben benutzerdefinierten Zeichenmethoden verwende, wird die Ansicht perfekt abgeschnitten, Bild unten:

Alternativtext http://img503.imageshack.us/img503/6269/picture2xkq.png

Ist es falsch für mich, MKMapView so zu unterteilen und zu erwarten, dass es abschneidet? Irgendwelche anderen rund um diese Ecken?

Prost, Kaspa

    
Kaspa 29.08.2009, 12:43
quelle

4 Antworten

39

Der einfachste Weg, um runde Ecken zu machen:

%Vor%     
digdog 29.08.2009, 17:04
quelle
3

Nur eine kleine Korrektur, da die Importanweisung in Digdogs Antwort falsch geschrieben ist.

Sollte

sein %Vor%     
Sara 12.09.2010 18:15
quelle
1

Sehen Sie sich den letzten Abschnitt des Abschnitts "Übersicht" in der an MKMapView Klassenreferenz :

  

Obwohl Sie die MKMapView-Klasse nicht selbst ableiten sollten, ...

Ich denke, das beantwortet ziemlich gut Ihre Frage, ob Sie es unterklassifizieren sollten. Eine Sache, die Sie tun können, ist eine andere Ansicht auf die MKMapView, die wie der Hintergrund aussieht, um die Ecken zu runden. Wenn Sie eine beliebige Größe benötigen, können Sie die Methode strechableImage für UIImage ausprobieren.

    
Ed Marty 29.08.2009 14:52
quelle
0

Es ist auch ziemlich einfach, bestimmte Ecken zu runden, wenn Sie brauchen. Zum Beispiel, wenn sich die Karte an der Spitze einer NSTableViewCell innerhalb einer gruppierten NSTableView befindet

Etwas modifiziert von ACEToolKit :

%Vor%     
papahabla 04.09.2013 16:04
quelle

Tags und Links