2011-08-07 4 views
3

게시 된 알림 또는 NSTextView 또는 편집 가능한 요소에서 자동 수정 된 것을 알리는 다른 방법이 있습니까?자동 고침

+0

이유는 무엇입니까? 일부 배경이 도움이 될 수 있습니다. – tjameson

답변

3

나는 실제로 NSTextView는이 검사의 대리자 메서드의 철자를 사용하여이 작업을 수행하는 방법을 발견했다 :

- (NSArray *)textView:(NSTextView *)view didCheckTextInRange:(NSRange)range types:(NSTextCheckingTypes)checkingTypes options:(NSDictionary *)options results:(NSArray *)results orthography:(NSOrthography *)orthography wordCount:(NSInteger)wordCount { 
    for (NSTextCheckingResult *result in results) { 
     if (result.resultType == NSTextCheckingTypeCorrection) { 
      NSLog(@"autocomplete has occured! %@", result); 
     } 
    } 
    return results; 
} 
+0

좋은 답변, 매우 편리합니다. –

2
+0

내가 필요로하는 것처럼 들리지만 구독 할 때 자동 수정이 수행 될 때 절대로 호출되지 않습니다. – Joshua

+1

아마도 버그입니까? 아마도 다른 사람들이 검토 할 수있는 관련 코드를 게시하십시오. –

+0

''[[NSNotificationCenter defaultCenter] addObserver : 셀렉터 : @selector (autocompleteOccurred :) name : NSSpellCheckerDidChangeAutomaticSpellingCorrectionNotification object : nil] ''autocompleteOccured '메서드가 단순히 NSLog를 포함하는 곳의 알림을 구독했습니다. 그런 다음 내 응용 프로그램에서 NSTextView를 사용하여 자동 고침이 발생하지만 기록 된 메시지가 표시되지 않습니다. – Joshua