Sono nuovo di Cocoa e cerco un piccolo consiglio per un'applicazione da esperti Cocoa-ers.Consigli per un'applicazione di disegno di cacao
Sto costruendo un'app di base OmniGraffle in cui gli oggetti sono disegnati/trascinati su una tela. Dopo che gli oggetti sono sul canvas, possono essere selezionati per modificare le loro proprietà (colore di riempimento, colore del tratto/larghezza, ecc.), Essere ridimensionati, spostati in una nuova posizione, ecc.
Per riscaldarsi, Ho scritto un'app di disegno di base che crea oggetti (cerchi, rettangoli, ecc.) Disegnati con il mouse su un oggetto personalizzato NSView
, aggiunge gli oggetti a una raccolta NSArray
e visualizza i contenuti della raccolta nella vista. Potrei continuare su questa linea, ma dovrò aggiungere il supporto per rilevare la selezione degli oggetti, risolvere z-index, messa a fuoco, maniglie di trascinamento, ecc. Con tutto il rendering associato. Inoltre, rendere ogni oggetto su ogni ciclo sembra terribilmente dispendioso.
Sembra che un approccio migliore sarebbe quello di rilasciare oggetti vista leggero su una tela in grado di rilevare gli eventi del mouse su se stessi, disegnare se stessi e gli anelli di messa a fuoco e così via. Tuttavia, mentre NSView
sembra un oggetto con queste proprietà, vedo molte chiacchiere sul web che si tratta di un componente pesante con un sacco di bagagli. Mi sono imbattuto in NSCell
s e ho letto su di loro, ma non sono sicuro che siano la giusta alternativa.
Qualche suggerimento? Se riesci a spingerti nella giusta direzione lo apprezzerei molto.
Sicuramente sconsiglio di usare 'NSCell'. Anche 'NSTableView' si è allontanato da esso nella sua ultima iterazione. 'NSCell' non è divertente con cui lavorare. –
Vorrei anche * altamente * consigliare di guardare l'esempio di Sketch (penso che quello corrente sia chiamato "Sketch + Accessibility" se cerchi i documenti) se non lo hai già fatto. Ci sono molte buone idee lì dentro. –