Domanda

Come disegnare un rettangolo simile a questo in iPhone SDK usando la grafica di base

 Schermata dello strumento Ritaglia

È stato utile?

Soluzione

Sono cinque rettangoli.

Costruisci un CGPath per il rettangolo a linee tratteggiate, lo accarezzi, quindi costruisci i quattro piccoli CGPath per le maniglie e li accarezzi.

Altri suggerimenti

Vorrei raccomandare di dispensare con le maniglie. Hanno senso quando si utilizza un mouse; con un touchscreen, non tanto.

In particolare se guardi la documentazione di riferimento effettiva di iPhone per CGPath troverai una sezione su CGPathAddRect. Dopodiché probabilmente troverai la sezione della guida 2D su Tracciare un percorso utile.

CGPathAddRect

Aggiunge un rettangolo a un percorso grafico mutabile.

void CGPathAddRect (
   CGMutablePathRef path,
   const CGAffineTransform *m,
   CGRect rect
);

Parametri
path
Il percorso mutevole per cambiare.

m
Un puntatore a una matrice di trasformazione affine o NULL se non è necessaria alcuna trasformazione. Se specificato, Quartz applica la trasformazione al rettangolo prima di aggiungerla al percorso.

rect
Il rettangolo da aggiungere.

Discussione
Questa è una funzione comoda che aggiunge un rettangolo a un percorso, usando la seguente sequenza di operazioni:

// start at origin
CGPathMoveToPoint (path, m, CGRectGetMinX(rect), CGRectGetMinY(rect));

// add bottom edge
CGPathAddLineToPoint (path, m, CGRectGetMaxX(rect), CGRectGetMinY(rect));

// add right edge
CGPathAddLineToPoint (path, m, CGRectGetMaxX(rect), CGRectGetMaxY(rect);

// add top edge
CGPathAddLineToPoint (path, m, CGRectGetMinX(rect), CGRectGetMaxY(rect));

// add left edge and close
CGPathCloseSubpath (path);

Disponibilità
Disponibile in iPhone OS 2.0 e versioni successive.

Dichiarato in
CGPath.h

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top