2009-06-08 9 views
6

Sto cercando una soluzione perfetta per impostare un'immagine di sfondo per una finestra in un'applicazione di cacao. Non ho trovato una soluzione a questo, Sono nuovo in Objective C, quindi per favore qualcuno mi aiuti ...una finestra a Cocoa quadro

risposta

3

Michael Vannorsdel suggerisce sublassing NSView per lo scopo, e cito:

Faresti davvero essere meglio fare un NSView sottoclasse e averlo disegnare l'immagine che si desidera in drawRect :.

- (void)awakeFromNib 
{ 
    myImage = [[NSImage alloc] init.... 

    [self setNeedsDisplay:YES]; 
} 

- (void)drawRect:(NSRect)rect 
{ 
    NSSize isize = [myImage size]; 
    [myImage drawInRect:[self bounds] fromRect:NSMakeRect(0.0, 0.0, 
isize.width, isize.height) operation: NSCompositeCopy fraction:1.0]; 
} 

letto che tutta la discussione su cocoabuilder, è abbastanza istruttiva.

5

Una finestra in cacao ha una visione a livello principale chiamato "visualizzazione del contenuto". Questa è la vista che contiene tutti gli altri in una finestra. Per impostazione predefinita, è solo un semplice, vuoto NSView. Ma si potrebbe facilmente creare il proprio personalizzato NSView sottoclasse, l'override del metodo drawRect: per disegnare l'immagine di sfondo, e l'uso che per la visualizzazione personalizzata.

Tuttavia, potrebbe essere solo più facile da usare una pianura vecchio NSImageView. Il vantaggio di questo è che puoi impostare, ad esempio, il comportamento di autosizing per mantenere l'immagine bloccata su un angolo (prova con Installer.app ridimensionando la finestra del programma di installazione). Sarebbe anche in grado di renderlo semi-opaco in modo che lo sfondo mostri un po '. (Di nuovo, sto pensando a Installer.app, la tua app potrebbe essere completamente diversa)

Spero che tu stia andando nella giusta direzione!

Problemi correlati