gpt4 book ai didi

cocoa - 嵌入 NSScrollView 的自定义 View 中 NSTableView 的滚动问题

转载 作者:行者123 更新时间:2023-12-03 17:51:09 24 4
gpt4 key购买 nike

我的应用程序中有一个右侧面板区域,它是一个高垂直自定义 View (我们称之为列 View ),其中包含 2 个表格 View 。每个tableview不滚动,虽然它们嵌入在标准clipview和scrollview中,但tableview的垂直高度与其包含的总行数相同,并且禁用弹跳。随着行数的增加,背景列 View 的高度增加,需要垂直滚动。它还嵌入在 ScrollView 中。这听起来比实际更复杂,这是一张图片:

enter image description here

只要鼠标指针不在红色框中(即在表格 View 上方),背景列 View 的滚动就可以正常工作。我希望能够垂直滚动,无论鼠标位于列 View 中的哪个位置。有什么想法吗?

更新:这是嵌入在 ScrollView 中的表格 View 在 Tweetbot 中正常工作的主流示例(假设这些部分是表格 View )

enter image description here

最佳答案

如果您想在另一个 View (红色区域)内有 ScrollView 。您需要禁用内部 ScrollView 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];
}
}

但不要认为您需要在其他 ScrollView 中拥有 ScrollView 。相反,您可以使用一个包含两种单元格的表格 View ,一种用于“节标题”,另一种用于“单元格”。

这样您就可以拥有一个包含多个部分的表格 View - 就像在 iOS 中一样。

关于cocoa - 嵌入 NSScrollView 的自定义 View 中 NSTableView 的滚动问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26330132/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com