2012-07-06 2 views
3

나는 이것이 곧바로 될 줄 알았지 만 내가 틀렸던 것 같습니다. 기본적으로, 내가하려고하는 것은 글꼴을 Apple 기본값으로 변경하지 않는 것입니다. Helvetica Regular 12pt.변경에서 NSTextView의 글꼴을 유지

나는 NSDocument의 내 구현 파일의 서브 클래스를했습니다 나는 다음과 같은 방법이 있습니다

- (void)windowControllerDidLoadNib:(NSWindowController*)aController 
{ 
    [super windowControllerDidLoadNib:aController]; 

    if(attrString) 
    { 
     [[textView textStorage] setAttributedString:attrString]; 
     [[textView textStorage] setFont:[NSFont fontWithName:@"Menlo Bold" size:24]]; 
    } 

이 방법은 모든 권리 나 파일을 열 때 작동하지만이 모든 텍스트를 삭제하는 경우와 그런 다음 다시 입력하면 글꼴이 다시 설정됩니다 ... Helvetica Regular 12pt ... 내가 원하는 것은 프로그램의 전체 수명 동안 글꼴과 크기를 유지하는 것입니다.

+1

텍스트보기가 아닌 속성이 지정된 문자열에 글꼴을 설정하지 않는 이유는 무엇입니까? – trojanfoe

+0

나는 신참이기 때문에 내가하는 일을 모른다. 이 책의 몇 장을 더 읽은 후에, 저는 그것이 재미있게 보입니다. – 425nesp

답변

1

키 NSFontAttributeName의 글꼴을 포함하도록 텍스트보기의 입력 속성을 설정해야합니다.

그러나 나는 한걸음 더 나아갈 것입니다. 모델에 특정 글꼴 (NSTextStorage - NSTextView의 백업 저장소)을 절대로 원하지 않는다면 NSTextStorage의 서브 클래스를 만들고 속성 setter와 getters를 재정의하십시오. NSTextView는 글꼴 메뉴에 대한 사용자 액세스 권한을 제공하고 특정 글꼴을 복사/붙여 넣기로 허용합니다. 텍스트보기를 절대 입력하지 못하게하는 유일한 방법은 모델에 글꼴을 허용하지 않는 것입니다.

관련 문제