2013-08-02 3 views
1

상반기가 NSTableView이고 하위가 NSTabview이고 항목이 2 개인 NSSplitview를 사용 중입니다. 각 NStabViewItem에는 NSTextview가 있습니다. 모두 nib 파일에 정의되어 있습니다.NSTabview 내부 NSTextView, 텍스트 지연로드

이제 NSTableview 행을 선택하면 파일 내용을로드하고 NSTabViewItem의 NSTextview에 설정합니다. NSTableView의 어떤 행이 선택되었는지에 따라 NSTabview 항목이로드됩니다.

그러나 나는 NSTabview의 NSTabViewItem의를 NSTextView의 내용이 바로 표시되는 NSTabView 지역에 마우스를 올려 놓으면 NSTabView.But의 NSTabViewItem의를 NSTextView에 표시되는 텍스트를 볼 5-6 초 상당한 지연을 관찰합니다. 아무도 나를 안내 할 수 있습니까?

나는 탭 뷰 대리인이 아닌 NSTableView 대리인 만 사용하고 있습니다. 난 그냥 각각의 NSTextView 각 탭 뷰의 NSTabViewItem의 콘텐츠를로드합니다.

코드 조각은 :

- (void)tableViewSelectionDidChange:(NSNotification *)notification 
    { 
     if ([mTableView selectedRow] != -1) 
     { 
      selectedNode = [mLogContainer objectAtIndex:[mTableView selectedRow]]; 
      [self manageTabView:[selectedNode logfile]]; 

     } 
    } 

-(void) manageTabView:(NSString*) fname 
{ 
    [self loadTextView:mDetailView withFilePath:fname]; 
    NSString* summaryFile = [NSString stringWithFormat:@"%@.summary",fname]; 
    [self loadTextView:mSummaryView withFilePath:summaryFile]; 
    [mTabView selectTabViewItemAtIndex:0]; 

} 


-(void) setContent:(NSString*) content forView:(NSTextView*) textView 
{ 
    NSString* fileContent = [[NSString alloc] init];  
    [fileContent stringWithContentsOfFile:content 
      encoding:NSUTF8StringEncoding error:nil]; 
    NSTextStorage *textStorage = [textView textStorage]; 
    [textStorage beginEditing]; 
    [[textStorage mutableString] setString:fileContent]; 
    [textStorage endEditing]; 
    [textView setNeedsDisplay:YES]; 
} 

답변

0
이 들릴 수도 얼마나 이제까지 바보

하지만,이 이상한 행동의 문제는 펜촉 프레임의 NStextviewNSTabviewItem보기보다 약간 더 크다이었다. 이 동작에 대한 이유는 무엇인지 모르지만 NSTextView 크기를 다시 조정하면 .. 모든 것이 정상적으로 작동합니다.