2011-08-18 3 views
1

저는 코코아 텍스트 시스템을 골머리를 앓고 있습니다. 지금 당장 할 수있는 일은 사용자가 Tab 키 또는 Return 키를 누를 때 감지하는 것입니다. .코코아에서 키보드 이벤트, 특히 Return/Tab 키를 감지합니다.

이것이 다른 점은 확실하지 않지만 프로그램 적으로 처음부터 텍스트 편집기를 만들었으므로 NSTextStorage 개체에 대한 참조 만 있으므로 나머지는 모두 릴리스되었습니다.

도움을 주시면 감사하겠습니다. 그리고 noobile 질문에 사과드립니다.

+1

처음부터 텍스트 편집기를 만든 경우 다른 키보드 입력을 어떻게 처리 했습니까? – jtbandes

+0

직접 대답 할 수 없다면 텍스트 편집기를 처음부터 만드는 지혜에 대해 심각하게 질문 할 것입니다. 'NSTextView'와 관련 클래스는 전문가가 수년간 지어낸 극도로 고밀도의 복합 텍스트 처리 시스템을 제공합니다. 당신이 처음부터 시작한다면 당신이 그것을 향상시킬 수있는 가능성은 매우 희박합니다. 사용자를 위해 * NSTextView와 관련 클래스를 사용하여 원하는 것을하십시오. 그럴 수 없다고 생각하는 이유가 있다면, 그냥 물어 보면 여기있는 누군가가 도울 수있을 것입니다. –

+0

8 개의 NSTextContainers에 해당 NSTextView가 있습니다. 그것이 IB의 NSTextView를 사용하지 않은 유일한 이유입니다. – alf

답변

2
- (void)keyDown: (NSEvent *) event { 

    if ([event keyCode] == 13){ //For return key 

    } 
    if ([event keyCode] == 9){ //For tab key 

    } 

} 

이 메서드는 무시되고 키를 누를 때마다 호출됩니다.

+0

키 코드는 매우 유용합니다. 고맙습니다. 나는 그 방법을 작동시키는 것처럼 보이지는 않지만. nstextstorage 객체에 텍스트를 추가하는 것에 대해 아무 것도해야합니까? 아니면 다른 것? 나는 지금 당장 길을 잃었다. – alf

+0

네, 질문을 더 자세히 읽어야합니다 : 적절한 클래스가 필요합니다. 하위 클래스 'NSWindow' 또는'NSWindowController'를 시도하십시오 .http : //stackoverflow.com/questions/1143843/keydown-and-cocoa-sample – Dair