2012-07-09 3 views
3

Visual Studio에서 텍스트 상자에 text_changed이라는 이벤트가 있는데, 어떻게하면 비슷한 이벤트/동작을 코코아에서 만들 수 있습니까?NSTextField 호출 텍스트 변경시 IBAction

그리고 일반적으로 양식 컨트롤에 대해 어떻게 이러한 추가 이벤트를 받습니까? 예 : 마우스 오버, 비주얼 스튜디오에서 당신은 이벤트 목록에서 선택할 수 있습니다.

+0

일반적으로 값을 업데이트하려면 enter/tab/focus를 눌러야합니다. 나는 사용자가 모든 문자 변경시 업데이트를 입력 할 때 그것을 원한다. –

답변

4

NSTextField의 위임자로 앱 대표 또는 그보기를 관리하기 위해 사용하는 컨트롤러를 설정하려고합니다. 그런 다음 메서드를 구현하십시오.

- (void)controlTextDidChange:(NSNotification *)aNotification 

텍스트 필드의 텍스트가 변경 될 때마다 호출됩니다.

마우스 오버 같은 마우스 이벤트를 처리하기위한 소개로 Cocoa Event Handling Guide은 꽤 좋은 출발점입니다.

+0

이전 답변이 있었지만 그 사람이 그것을 제거해야합니다, 멀리있어하지만이 이벤트는 사용자가 일반적으로 탭 또는 입력 누를 때처럼 값을 제출할 수있는 방법을 모르지만 컨트롤을 유지합니다 초점. –

+0

"제출"이란 무엇을 의미합니까? 텍스트 필드의 위임자로 설정하면 사용자가 텍스트 필드에 무언가를 입력 할 때마다 위 메소드가 호출됩니다. 해당 메소드에서 텍스트 필드의'stringValue'를 검색하고 그 텍스트 필드로 수행해야하는 모든 작업을 수행 할 수 있습니다. – puzzle

+0

설명하기 어려울 수도 있습니다. 텍스트 필드를 레이블에 바인딩하고 지속적으로 업데이트하도록 설정하는 경우를 알고 계십니까? 글쎄, 나는 그것을 그런 식으로하고 싶다. 하지만 업데이트하려는 값은 다른 클래스에 있습니다. 다른 클래스의 값을 어떻게 업데이트합니까? –