Objective c 使用NSCollectionView创建时,NSTextView不会滚动

Objective c 使用NSCollectionView创建时,NSTextView不会滚动,objective-c,macos,cocoa,nsview,nscollectionview,Objective C,Macos,Cocoa,Nsview,Nscollectionview,我有一个NSTextView,它位于NSCollectionViewItem的视图上。我为用户提供了隐藏NSTextView的选项,而不是在同一视图中的相应位置显示NSView对象 但是,当我在NSView对象隐藏且与NSTextView重叠的情况下运行程序时,在NSTextView中滚动无法正常工作;垂直滚动条在那里,并根据NSTextView中内容的大小调整其大小。但是,实际的滚动只能通过高亮显示NSTextView的内容并向上或向下拖动来实现。更重要的是,如果我重新创建视图时没有将其连接到

我有一个NSTextView,它位于NSCollectionViewItem的视图上。我为用户提供了隐藏NSTextView的选项,而不是在同一视图中的相应位置显示NSView对象

但是,当我在NSView对象隐藏且与NSTextView重叠的情况下运行程序时,在NSTextView中滚动无法正常工作;垂直滚动条在那里,并根据NSTextView中内容的大小调整其大小。但是,实际的滚动只能通过高亮显示NSTextView的内容并向上或向下拖动来实现。更重要的是,如果我重新创建视图时没有将其连接到NSCollectionViewItem和NSCollectionView,则它可以正常滚动。这一问题不仅发生在与NSTextView重叠的自定义视图上,而且发生在与NSTextView重叠的任何视图对象(按钮、图像井等)上,即使视图对象设置为隐藏


如果NSTextView是使用NSCollectionView创建的,并且有一个视图对象与它重叠,为什么只有在高亮显示并向上或向下拖动时才可以滚动?

好吧,我找到了一个解决方案,它没有什么意义,但似乎工作正常。我将NSTextView子类化,并用以下命令覆盖鼠标:

-(void) mouseEntered:(NSEvent *)theEvent {

    NSScrollView *scrollView=(NSScrollView*)self.superview.superview;
    NSScroller *scroller=scrollView.verticalScroller;
    [scrollView setVerticalScroller:nil];
    [scrollView setVerticalScroller:scroller];
}
如果有人知道为什么会发生这个问题,或者有更好的解决方案,而不仅仅是猜测,请发布它