我的应用中有一个右侧面板区域,它是一个高竖直自定义视图(让我们称之为列视图),其中包含2个tableviews。每个tableview都不会滚动,虽然它们嵌入在标准的clipview和scrollview中,但tableview的垂直高度与它包含的总行数相同,并且禁用了bounce。随着行数的增加,背景列视图的高度增加,需要垂直滚动。它也嵌入在scrollview中。这听起来比现在更复杂,这是一张照片:
只要鼠标指针不在红色框内,即在tableviews上,滚动背景列视图就可以正常工作。无论鼠标位于列视图中的哪个位置,我都希望能够垂直滚动。有什么想法吗?
更新:这是一个主流示例,其中嵌入在scrollview中的tableviews在Tweetbot中正常工作(假设这些部分是tableviews)
答案 0 :(得分:1)
如果您想在另一个(红色区域)内有滚动视图。您需要禁用内部滚动视图scrollWheel
操作。您可以通过编写自定义NSScrollView
子类并添加以下方法来实现此目的:
- (void)scrollWheel:(NSEvent *)theEvent {
// If scroll is disabled, send action to next responder
if (self.scrollEnabled == NO) {
[self.nextResponder scrollWheel:theEvent];
}
else {
[super scrollWheel:theEvent];
}
}
但是不要认为你需要在其他滚动视图中有滚动视图。相反,您可以使用一个包含2种单元格的表格视图,其中一种用于“标题”标题'以及其他用于' cell'。
这样你就有了一个包含多个部分的表格视图 - 就像在iOS中一样。