2013-02-02 9 views
12

come rendere NSTextField veramente single line?rendere nstextfield single line

Ho creato un campo di testo a livello di codice. quando viene premuto il tasto Invio, tutto il testo è selezionato. ma posso ancora incollare più righe di testo. E quando premo Arrow-right o Arrow down, scorre alla riga successiva.

Non ci sono questi problemi se utilizzo IB e imposta "usa la modalità linea singola", ma non sono riuscito a trovare il metodo giusto per impostarlo a livello di programmazione.

+0

IB fa un sacco di impostazioni predefinite magia, a volte è possibile esaminare il XI ter per vedere quale valore chiave coppie sono impostati –

+1

@GradyPlayer Sì lo fa, il problema è che voglio impostare a livello di codice. – Jensen

risposta

5

Questo funziona per me, quando a livello di codice creazione di controlli:

[myTextField.cell setWraps:NO]; 
[myTextField.cell setScrollable:YES]; 

tenere a mente che l'accesso diretto alla cella di NSControl è stato scoraggiato dal OS X 10.10 Introduzione:

graduale deprecazione di NSCell

Mac OS X 10.10 fa un altro passo verso l'eventuale deprecazione di celle. L'accesso diretto alla cella di un controllo è sconsigliato e i metodi che lo consentono verranno ufficialmente ritirati in una successiva versione . Una varietà di API a livello di cella sono state promosse in varie sottoclassi di controllo per fornire un accesso senza cella alle importanti funzionalità di . NSLevelIndicator, NSTextField, NSSearchField, NSSlider, e NSPathControl hanno tutti nuove proprietà per questo scopo. basati su celle sono ora deprecati e NSTableViews basati sulla visualizzazione dovrebbero essere usati come . Anche gli NSBrowser basati su matrici sono deprecati a favore di l'interfaccia basata su elementi.

https://developer.apple.com/library/mac/releasenotes/AppKit/RN-AppKit/

+1

Sai se esiste un modo per impostare il campo di testo per lo scorrimento senza accedere alla sua cella? Invocare 'setUsesSingleLineMode:' sul campo di testo (al contrario della cella) non lo rende scorrevole. – Dalmazio

+0

Quindi? Come si può fare se questo è deprecato? –

+0

Controllo + Immettere di nuovo testo campo di testo. – frank