Sto costruendo un UITableView personalizzato con ciascuna cella contenente un pezzo di testo e un MKMapView. Voglio che la vista "icona" della mappa nella cella abbia angoli arrotondati e questo sembra essere un problema.Angoli arrotondati di MKMapView
Sto utilizzando il disegno personalizzato sia per il mio UITableViewCell che per il mio MapIcon
(visualizzazione mappa personalizzata) che aggiungo al mio UITableViewCell.
MapIcon
è una sottoclasse di MKMapView
ed il metodo di disegno appare come segue:
- (void) drawRect: (CGRect) rect {
CGContextRef context = UIGraphicsGetCurrentContext(); CGContextSetLineWidth(context, strokeWidth); CGContextSetStrokeColorWithColor(context,self.strokeColor.CGColor); CGContextSetFillColorWithColor(context, self.rectColor.CGColor); CGFloat radius = arcRadius; CGFloat Xmin = CGRectGetMinX(rect); CGFloat Xmid = CGRectGetMidX(rect); CGFloat Xmax = CGRectGetMaxX(rect); CGFloat Ymin = CGRectGetMinY(rect); CGFloat Ymid = CGRectGetMidY(rect); CGFloat Ymax = CGRectGetMaxY(rect);
CGContextBeginPath (contesto); CGContextMoveToPoint (context, Xmin, Ymid); CGContextAddArcToPoint (contesto, Xmin, Ymin, Xmid, Ymin, raggio); CGContextAddArcToPoint (contesto, Xmax, Ymin, Xmax, Ymid, raggio); CGContextAddArcToPoint (contesto, Xmax, Ymax, Xmid, Ymax, raggio); CGContextAddArcToPoint (contesto, Xmin, Ymax, Xmin, Ymid, raggio); CGContextClosePath (contesto);
CGContextDrawPath(context, kCGPathFillStroke);
CGContextClip (contesto); CGContextEndTransparencyLayer (contesto); }
e le mappe non si ottengono gli angoli rouned, come si può vedere nello screenshot qui sotto:
alt text http://img190.imageshack.us/img190/948/picture1vmk.png
Se però posso cambiare il MapIcon
sottoclasse di UIView e utilizzare lo stesso disegno personalizzato metodi, la vista viene ritagliato perfettamente, immagine qui sotto:
alt text http://img503.imageshack.us/img503/6269/picture2xkq.png
È sbagliato per me creare sottoclassi di MKMapView in questo modo e aspettarmi che si agganci? Qualsiasi altro qualsiasi arrotondamento di questi angoli?
Cheers, Kaspa
Hai trovato che mettendo un mapview qui si blocca quando si esce e reinserisce la vista? –