我正在制作一个Mac应用程序,它需要知道用户何时滚动NSScrollView,但是,我找不到像UIScrollView这样的方法,它有以下代理方法:

– scrollViewDidScroll:
– scrollViewWillBeginDragging:
– scrollViewDidEndDragging:willDecelerate:
– scrollViewShouldScrollToTop:
– scrollViewDidScrollToTop:
– scrollViewWillBeginDecelerating:
– scrollViewDidEndDecelerating:

我可以为App Kit使用类似的委派方法吗?提前谢谢.

凯.

推荐答案

通过监视滚动视图内容视图的边界,可以监视滚动视图的更改.首先将内容视图设置为使用发布其更改

[contentView setPostsBoundsChangedNotifications:YES];

然后注册为这些通知的观察者

[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(boundsDidChange:) name:NSViewBoundsDidChangeNotification object:contentView]; 

Objective-c相关问答推荐

如何从 Cocoa 的 NSDictionary 中获取特定键的值?

警告:格式字符串不是字符串文字(可能不安全)

Objective-C,如何获取 UTC 时区的当前日期?

将 NSNumber 转换为 NSDecimalNumber

如何获取 iPhone 的当前方向?

如何测试推送通知在我的应用程序中是否有效

在我的 iOS Mail 和 Safari 应用程序中支持 Open In... 菜单项

如何从 CGPoint 和 CGSize 创建 CGRect?

如何在 Objective-C 中创建静态方法?

了解按位与运算符

UITableView configureCellForDisplay:forIndexPath 中的断言失败:

iOS6:supportedInterfaceOrientations 不起作用(被调用但界面仍然旋转)

将 HTTP 标头添加到 NSURLRequest

如何在Objective C(NSRegularExpression)中编写正则表达式?

获取字符串的最后 2 个字符?

Objective-C:前向类声明

嵌入自定义容器视图控制器时,内容位于导航栏下方.

如何本地化 iOS 故事板

zoom UIView 及其所有子项

使 UILabel 的文本加粗