2010-02-22 3 views
0

정말 UITextView에서 붙여 넣기 이벤트를 검색 할 수 있기를 원하지만이 작업은 수행 할 수없는 것으로 보입니다.UITextView 붙여 넣기 메서드 재정의

원래 UITextView 서브 클래 싱을 시도하고 붙여 넣기 : 메서드를 재정의했으나 붙여 넣기 이벤트에서 호출되지 않습니다.

누구든지이 작업을 수행 할 수 있습니까? 다시 8 월에 대답을하지 않았다 같은 동류에 이전 질문 ... 그것은 실제 응답하지 않았기 때문에

답변

1

가 텍스트 뷰가 paste: 이벤트를 캐치하지 않았던 민간 텍스트보기 아니지만, 텍스트보기를 강화하는 웹보기 (UIWebDocumentView).

그러나 붙여 넣기 할 때 웹보기는 텍스트보기 (개인) -[UITextView keyboardInput:shouldInsertText:isMarkedText:]을 호출하고 텍스트보기의 대리자는 -textView:shouldChangeTextInRange:replacementText:을 호출합니다.

따라서 텍스트보기의 위임에 -textView:shouldChangeTextInRange:replacementText:을 구현하기 만하면됩니다.

(물론, 일반적인 키보드 입력도이 방법을 트리거합니다. 그들을 구별하는 완벽한 방법은 없습니다.)

1

@KennyTM 현재 텍스트 길이와 잘 알고 있었는지 내 응용 프로그램 중 하나를 위해 한 이전 텍스트 길이. 제 (currentTextLength - previousTextLength)의 경우 1보다 큰 한 후 사용자는 사용자가 현재 텍스트와 shouldChangeTextInRange 위임에 replacementText을 비교, 사용자가 텍스트 뷰의 텍스트를 분석하는 경우