我正在使用NSSplitview,其上半部分是NSTableView,下部是NSTabview,有2个项目。每个NStabViewItem都有一个NSTextview。所有都在nib文件中定义。
现在在选择NSTableview行时,我加载文件内容并将其设置在NSTabViewItem的NSTextview上。所以我加载的NSTabview项目取决于选择了哪些NSTableView行。
然而,我观察到在NSTabView的NSTabViewItem的NSTextview上看到文本可见的延迟5-6秒。但是如果我将鼠标悬停在NSTabView区域中,则立即显示NSTabview的NSTabViewItem的NSTextview的内容。 任何人都可以指导我这是什么问题吗?
我只使用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];
}
答案 0 :(得分:0)
听起来有多愚蠢,但这种奇怪行为的问题在于,笔尖框架中的NStextview
比NSTabviewItem
视图略大。不确定这种行为的原因是什么,但是当我重新调整NSTextView
的大小时......一切正常。