Macos NSTextView在NSTabviewItem内,加载文本延迟
我使用的是NSSplitview,其上半部分为NSTableView,下半部分为NSTableView,共有2项。每个NStabViewItem都有一个NSTextview。所有这些都在nib文件中定义 现在在选择NSTableview的行时,我加载文件的内容并将其设置在NSTabViewItem的NSTextview上。因此,我加载的NSTableView项取决于选择了NSTableView的哪些行 但是,我观察到5-6秒的明显延迟,以查看NSTabView的NSTabView项的NSTextview上可见的文本。但是,如果我将鼠标悬停在NSTabView区域,NSTabView的NSTabView项的NSTextview内容将立即显示。 有人能告诉我问题出在哪里吗 我只使用NSTableView委托,而不是tabview委托。我只是在选项卡视图的每个NSTABVIEW项的相应NSTextView中加载内容 代码段:Macos NSTextView在NSTabviewItem内,加载文本延迟,macos,nstextview,nstabview,Macos,Nstextview,Nstabview,我使用的是NSSplitview,其上半部分为NSTableView,下半部分为NSTableView,共有2项。每个NStabViewItem都有一个NSTextview。所有这些都在nib文件中定义 现在在选择NSTableview的行时,我加载文件的内容并将其设置在NSTabViewItem的NSTextview上。因此,我加载的NSTableView项取决于选择了NSTableView的哪些行 但是,我观察到5-6秒的明显延迟,以查看NSTabView的NSTabView项的NSText
- (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];
}
这听起来有多么愚蠢,但这种奇怪行为的问题在于nib框架中的
NStextview
比NSTabviewItem
视图大一点。不确定这种行为的原因是什么,但当我重新调整NSTextView
的大小时。。一切正常