2011-08-24 2 views
6

필자가 작성한 코코아 응용 프로그램의 경우 사용자가 현재 선택된 문서 콘텐츠에 대한 메모를 추가 할 수있는 주 문서 콘텐츠의 오른쪽 패널을 지원하고 싶습니다. (Microsoft Word 또는 Scrivener에 익숙한 경우이 기능은 해당 응용 프로그램의 주석 기능과 유사합니다.) Scrivener는 기본 텍스트에 맞게 크기가 조정 된 텍스트 필드로 시작한 다음 사용자가 커질수록 그것에 입력합니다. 내 코코아 애플 리케이션에 대한 동일한 동작을 구현하고 싶습니다.사용자가 입력 할 때 Cocoa NSTextView가 커지도록하려면 어떻게해야합니까?

기본 전략은 무엇입니까?

+1

무엇을 시도 했습니까? 수퍼 클래스의 참조를 포함하여 NSTextView 클래스 참조를 보았습니까? 당신의 대답은 거기에 있습니다. –

+0

모든 답변이나 해결책을 찾았습니까? –

답변

0

그들이 와서 당신이 실제 키 입력을 캡처 할 수 위임 방법이 있습니다.

키보드에 따라 첫 번째로 반응을 사임 아래의 대리자 메서드를 구현

-(BOOL)textFieldShouldReturn:(UITextField *)textfield 

는 아래의 대리자를 구현 메서드를 사용하여 TextField에 포커스가 다시 주어 졌는지 감지합니다. 또한 현재 텍스트의 삭제를 수행하거나

-(void)textFieldDidBeginEditing:(UITextField *)textfield 

입력 어디에 (캐럿에 따라 문자 (들)을 감지하는 아래의 대리자 메서드를 구현하고자하는 경우 이미 있었던 텍스트를 유지 할 수 있습니다 위치), 본질적으로는 당신의 텍스트 필드에게 표시하여 비상장 및 표시 문자열()

-(BOOL)textView:(NSTextView *)aTextView shouldChangeTextInRange:(NSRange)affectedCharRange replacementString:(NSString *)replacementString 

당신이 다른 정리 작업을 수행 할 수 있도록 편집이 완료되면 검출하기 위해 아래의 대리자 메서드를 구현하기 위해 문자를 추가 등 ... 당신이하고자하는.

-(void)textFieldDidEndEditing:(UITextField *)textField 

나는 당신의 텍스트 뷰 자체의 동적 크기에 답변을 드릴 것입니다, 그러나 그것은 필자가 볼 때 (적어도 iOS에서) 솔루션을 가지고 있으며, 하나 개의 점에서 나는 그것을 사용했다. 근본적으로 폰트 크기를 정적으로, 잠재적으로 너비를 고정시킨 다음 보유하고있는 선의 수를 기준으로 높이를 편집하거나 높이를 정적으로 유지하고 문자 등을 기준으로 너비를 변경할 수 있습니다.

다음은 크기 조정 동적으로 키 입력 인식을 결합하면 How do I size a UITextView to its content?

그래서 당신이 그것을해야 동적 크기 조정에 대한 StackOverflow의에 대한 응답의 큰 세트입니다!