NSTabviewItem中的NSTextView,加载文本延迟



我使用的是NSSplitview,它的上半部分是NSTableView,下半部分是带有2个项目的NSTabview。每个NStabViewItem都有一个NSTextview。所有这些都在nib文件中定义。

现在,在选择NSTableview的行后,我加载文件的内容,并将其设置在NSTabViewItem的NSTextview上。所以我加载的NSTabview项取决于选择了NSTableView的哪些行。

然而,我观察到看到NSTabView的NSTabViewItem的NSTextview上可见的文本有5-6秒的明显延迟。但如果我将鼠标悬停在NSTabView区域,则会立即显示NSTabView的NSTabViewItem的NSTxtview的内容。有人能告诉我问题出在哪里吗?

我只使用NSTableView委托,而不是tabview委托。我只是在tabview的每个NSTabViewItem的相应NSTextView中加载内容。

代码段:

 - (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];
} 

这听起来有多愚蠢,但这种奇怪行为的问题是笔尖框架中的NStextviewNSTabviewItem视图大一点。不确定这种行为的原因是什么,但当我重新调整NSTextView的大小时。。一切都很好。

最新更新