2013-02-02 2 views
12

NSTextField를 실제로 한 행으로 만드는 방법은 무엇입니까?nstextfield 단일 행을 만드십시오

프로그래밍 방식으로 텍스트 필드를 만들었습니다. 리턴 키를 누르면 모든 텍스트가 선택됩니다. 하지만 여러 줄의 텍스트를 붙여 넣을 수는 있습니다. 그리고 Arrow-right 또는 Arrow down을 누르면 다음 줄로 스크롤됩니다.

IB를 사용하고 "단일 회선 모드 사용"을 설정하면 이러한 문제가 발생하지 않지만 프로그래밍 방식으로 올바른 방법을 설정할 수는 없습니다.

+0

IB 마법 기본 설정의 많은, 당신은 때때로 설정 키 어떤 값 쌍 볼 수 XIB를 검사 할 수 있습니다 않습니다 –

+1

@GradyPlayer 그래 그것이 문제가 내가 프로그래밍 방식으로 설정할 것입니다 않습니다. – Jensen

답변

5

:

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

가 NSControl의 세포에 직접 액세스가 실망되었다는 것을 명심 가입일 OS X 10.10 소개 :의

점진적 중단 NSCell

Mac OS X 10.10은 결국의 비추천으로 나아갑니다.세포. 컨트롤의 셀에 대한 직접 액세스는 권장되지 않으며이를 허용하는 메소드는 이후 릴리스에서 정식으로 사용되지 않습니다. 다양한 셀 수준 API가 중요한 기능에 셀없는 액세스를 제공하기 위해 다양한 컨트롤 하위 클래스로 승격되었습니다. NSLevelIndicator, NSTextField, NSSearchField, NSSlider, 및 NSPathControl에는 모두이 용도의 새 속성이 있습니다. 셀 기반 NSTableViews는 이제 더 이상 사용되지 않으며 뷰 기반 NSTableView는 이어야합니다. 매트릭스 기반 NSBrowsers는 또한 항목 기반 인터페이스 인 을 사용하여 더 이상 사용되지 않습니다.

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

+1

텍스트 필드를 셀에 액세스하지 않고 스크롤 할 수 있도록 설정하는 방법이 있습니까? (셀과는 대조적으로) 텍스트 필드에서'setUsesSingleLineMode :'를 호출해도 스크롤 할 수 없다. – Dalmazio

+0

그래서? 이것이 사용 중지되면 어떻게 할 수 있습니까? –

+0

Ctrl + Enter를 눌러 텍스트 필드를 두 줄 다시 만듭니다. – frank