gpt4 book ai didi

cocoa - 检测垂直 NSScroller 在 NSTableView 中触底

转载 作者:行者123 更新时间:2023-12-03 16:52:20 26 4
gpt4 key购买 nike

假设我在 awakeFromNib: 的表中加载了 100 行,现在我想在垂直滚动条到达底部时调用一个方法。谁能告诉我如何处理 NSScroller 触底事件并在发生这种情况时调用方法。

最佳答案

// In awakeFromNib:
self.scrollView = [self.tableView enclosingScrollView];

// Register delegate to the scrollView content View:
// This will send notification whenever scrollView content view visible frame changes.
[NSNotificationCenter.defaultCenter addObserver:self selector:@selector(scrollViewDidScroll:) name:NSViewBoundsDidChangeNotification object:self.scrollView.contentView];

// This Method is called when content view frame changed
- (void)scrollViewDidScroll:(NSNotification *)notification {
NSScrollView *scrollView = self.scrollView;
// Test if bottom of content view is reached.
CGFloat currentPosition = CGRectGetMaxY([scrollView visibleRect]);
CGFloat contentHeight = [self.tableView bounds].size.height - 5;

if (currentPosition > contentHeight - 2.0) {
// YOUR ACTION
}
}
// Remove observer
- (void)dealloc {
[[NSNotificationCenter defaultCenter] removeObserver:self];
}

关于cocoa - 检测垂直 NSScroller 在 NSTableView 中触底,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25524610/

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