2013-02-02 14 views
12

jak uczynić NSTextField naprawdę pojedynczą linią?make pojedyncza linia nstextfield

Programowo utworzyłem pole tekstowe. po naciśnięciu klawisza powrotu wybrany jest cały tekst. ale nadal mogę wkleić wiele wierszy tekstu. Kiedy naciśniesz strzałkę w prawo lub strzałkę w dół, przewiń do następnej linii.

Nie ma tych problemów, jeśli używam IB i ustawię "use single line mode", ale nie mogłem znaleźć właściwej metody, aby ustawić je programowo.

+0

IB ma wiele ustawień domyślnych magicznego, czasami można zbadać XIb aby zobaczyć, co klucz wartość pary są ustawione –

+1

@GradyPlayer Tak to jest, problem jest chcę, aby ustawić go programowo. – Jensen

Odpowiedz

5

To działa na mnie, gdy programowo tworzenia formantów:

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

pamiętać, że bezpośredni dostęp do komórki NSControl został zniechęcony ponieważ OS X 10.10 Wstęp:

Stopniowa Wycofanie NSCell

Mac OS X 10.10 robi kolejny krok w kierunku ostatecznego wycofania się z komórek. Bezpośredni dostęp do komórki kontrolnej jest odradzany, a metody, które pozwalają na to, będą formalnie przestarzałe w kolejnym wydaniu . Różne interfejsy API na poziomie komórki zostały promowane w różnych podklasach Control w celu zapewnienia dostępu bez komórek do ważnej funkcji . NSLevelIndicator, NSTextField, NSSearchField, NSSlider, i NSPathControl mają wszystkie nowe właściwości do tego celu. Oparte na komórkach NSTableViews są obecnie nieaktualne, a NSTableViews oparte na widoku powinny być używane zamiast tego. Matrix-based NSBrowsers są również przestarzałe na rzecz interfejsu użytkownika opartego na elementach.

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

+1

Czy wiesz, czy istnieje sposób ustawienia pola tekstowego do przewijania bez dostępu do jego komórki? Wywołanie 'setUsesSingleLineMode:' w polu tekstowym (w przeciwieństwie do komórki) nie powoduje przewijania. – Dalmazio

+0

Tak? Jak to zrobić, jeśli jest to przestarzałe? –

+0

Control + Enter sprawiają, że pole tekstowe jest znowu dwa wiersze. – frank

Powiązane problemy