Domanda

Voglio fare qualche disegno personalizzato in una sottoclasse NSView dove dovrei iniziare?

È stato utile?

Soluzione

Come Jarret citato il documentazione di Apple sono un ottimo punto di partenza. Tuttavia, alcune cose da tenere a mente:

Il sistema di coordinate predefinito utilizzato con vista rappresenta l' sistema di coordinate cartesiane dove l'origine è in basso a sinistra angolo della vista. Il più delle volte si desidera l'origine di essere nell'angolo in alto a sinistra della vista in modo questo è dove l'override del metodo isFlipped: (l'implementazione predefinita che restituisce NO), tornando YES:

- (BOOL)isFlipped
{
    return YES;
}

Questa "ribalta" il sistema di coordinate in modo che l'origine diventa in alto a sinistra, dopo un flip verticale ha avuto luogo. Questo può fare alcuni calcoli posizione di disegno più facile.

Le cose principali che probabilmente vuole iniziare con sono cose come:

  • Riempire rettangoli di base (utilizzando il metodo della classe NSBezierPath fillRect:, insieme con la classe NSColor per l'impostazione e l'utilizzo di colori).
  • Lavorare con le immagini (utilizzando la classe NSImage e dei metodi di disegno che fornisce).
  • I percorsi, dove è possibile disegnare linee e le altre forme (con la classe NSBezierPath).

Si potrà anche prendere uno sguardo in contesti grafici ad un certo punto, e lavorando con l'impostazione degli attributi (come il colore corrente, un'ombra ecc) su di essi, usato per la successiva disegno operazioni.

Probabilmente non di immediato interesse, ma solo una nota a margine, che a un certo punto si dovrebbe dare uno sguardo al Ottimizzazione sezione vista del disegno della vista di programmazione per Cocoa . le operazioni di disegno dovrebbe essere veloce, e mi stupisce a volte quanto poco considerazione gente mette gli aspetti delle prestazioni del disegno, quando ci sono alcune cose di base che si possono fare per rendere il vostro disegno - e quindi di applicazione - più efficienti, come solo ridisegnare parti l'opinione che hanno effettivamente cambiato, piuttosto che l'intera cosa.

Altri suggerimenti

Cocoa Disegno Guida è il posto migliore per iniziare. Un sacco di esempi là.

Si dovrebbe iniziare all'inizio .

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