Qual è il modo migliore per costruire un campo indirizzo come quello del safari?NSTextCampo come barra degli indirizzi safari
È necessario disporre di testo modificabile e determinato sfondo dell'indicatore di stato.
Qual è il modo migliore per costruire un campo indirizzo come quello del safari?NSTextCampo come barra degli indirizzi safari
È necessario disporre di testo modificabile e determinato sfondo dell'indicatore di stato.
È possibile eseguire la sottoclasse di NSTextField
e sovrascrivere il metodo -drawRect:
per "riempire" la percentuale appropriata dell'intera larghezza con un colore o una sfumatura (o qualsiasi altra) per il progresso. Se capisco bene la tua domanda.
-(void)drawRect:(NSRect)dirtyRect {
CGFloat progress = 0.33;
NSRect progressRect = [self bounds];
progressRect.size.width *= progress;
[[NSColor colorWithCalibratedRed:0.0 green:0.0 blue:1.0 alpha:0.4] set];
NSRectFillUsingOperation(progressRect, NSCompositeSourceOver);
[super drawRect:dirtyRect];
}
Ovviamente il "progresso" verrebbe da una proprietà dichiarata e aggiornata in base al modello. Dovresti assicurarti che lo setDrawsBackground:
sia disattivato oppure che lo sfondo sia impostato su [NSColor clearColor];
per poter vedere il tuo disegno personalizzato.
Questa è una ripresa dal codice sopra.