如何观察NSScroller的变化?

2023-12-12

我有一个NSScrollView子类,我想更新另一个NSView基于当前滚动位置。我尝试了 KVC-观察value of [self horizontalScroller]但这永远不会被调用。

// In awakeFromNib
[[self horizontalScroller] addObserver:self
                            forKeyPath:@"value"
                               options:NSKeyValueObservingOptionNew
                               context:NULL];

// Later in the file
- (void)observeValueForKeyPath:(NSString *)keyPath 
                  ofObject:(id)object 
                    change:(NSDictionary *)change 
                   context:(void *)context {
    if (object == [self horizontalScroller] && [keyPath isEqualToString:@"value"]) {
        // This never gets called
    }
}

您是否发现我的推理有错误,或者知道如何观察滚动的更好方法NSScrollview?


告诉滚动视图的内容视图发布边界更改通知,然后监听 NSViewBoundsDidChangeNotification。

[[aScrollView contentView] setPostsBoundsChangedNotifications:YES];
[[NSNotificationCenter defaultCenter] addObserver:self
                                         selector:@selector(boundsDidChangeNotification:)
                                             name:NSViewBoundsDidChangeNotification
                                           object:[scrollView contentView]];

如中所述滚动视图编程指南,您可以通过以下方式获取当前滚动位置:

NSPoint currentScrollPosition = [[theScrollView contentView] bounds].origin;
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何观察NSScroller的变化? 的相关文章

  • 当前收据无效或不匹配的 ds 人员 ID

    我正在尝试测试 MacOS 的应用内购买 输入测试用户凭据后 App Store 抱怨 当前收据无效或 ds 人员 ID 不匹配 并且购买失败 我尝试了很多方法来解决这个问题 获取 App Store 收据 http www kotanco
  • 如何使用 iconutil 手动创建 icns 文件?

    当我验证我的应用程序时 出现此错误 应用程序包不包含 ICNS 格式的图标 同时包含512x512 and a 512x512 2x image 我用来制作 icns 图标Img2icns http www img2icnsapp com
  • 在谓词中使用@min

    我当前获取 min 或 max 值的版本是 for NSManagedObject destination in allSpecifics allRates addObject destination valueForKey rate NS
  • 如何在 Objective-C + Cocoa 中创建自定义无边框 NSWindow?

    首先我要说的是 这是我的第一个真正的 Cocoa 应用程序 这是一个简单的应用程序 几乎在无边框窗口中显示我的网站 我目前创建无边框窗口的方式使用以下内容 void awakeFromNib window setStyleMask NSBo
  • NSRunningApplication - 终止

    我将如何使用NSRunningApplication 我有与启动应用程序相反的东西 NSWorkspace sharedWorkspace launchApplication appName 但我想关闭一个 当我调试代码时出现错误NSRun
  • 如何设置 NSButton OSX 的背景颜色

    我想设置 NSButton 的背景颜色 属性检查器中没有任何内容 所以我想知道是否有任何方法可以以编程方式完成此操作 系统控件需要遵循 Apple 的外观和感觉 因此您无法轻松更改背景颜色 如果你想完成这个 你需要子类化 NSButton
  • 如何在全屏视图前面显示 NSPanel?

    我的应用程序以全屏方式运行 我需要类似 iOS 的 UIPopoverController 之类的东西 第一个想法是使用 NSPanel 但我无法让它显示在全屏视图前 我需要一个类似 UIPopoverController 的 Cocoa
  • 继承属性,从 readonly 继承的属性中读写时不会合成 setter

    我在使用属性时发现了一个奇怪的行为 该属性被继承为只读 然后在继承的类中重新声明为读写 In A h interface A NSObject property nonatomic strong readonly NSObject some
  • 如何构建 Objective-C 静态库? [关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 我有一些 Objective C 类 目前在 Cocoa 应用程序 Mac OS X 和 Cocoa Touch 应用程序 iOS 中
  • 将 NSAttributedString 的子字符串替换为另一个 NSAttributedString

    我想替换一个子字符串 例如 replace of an NSAttributedString和另外一个NSAttributedString 我正在寻找一种等效的方法NSString s stringByReplacingOccurrence
  • 如何在 Cocoa with Core Data 中上传和存储文件?

    我有一个应用程序 我希望能够将文件上传到其中 我可以想象序列化数据 将其放入数组中 然后序列化数组并将其放入核心数据中 但这似乎不太正确 我还可以想象将文件复制到应用程序的支持文件中 获取这些文件的 NSURL 并存储数组或 NSURL 无
  • 使用 Python 查找 Mac OS X 中的当前活动窗口

    有没有办法使用 Python 在 Mac OS X 上查找给定时间当前活动窗口的应用程序名称 这应该有效 usr bin python from AppKit import NSWorkspace activeAppName NSWorks
  • 如何使用NSDecimalNumber?

    我正在构建一个需要对金钱进行计算的应用程序 我想知道如何正确使用 NSDecimalNumber 特别是如何从整数 浮点数和双精度数初始化它 我只发现它很容易使用 decimalNumberWithString 方法 这 initWith
  • 获取 Cocoa 中文件的类型

    我成功找到了指定文件的扩展文件类型 JPEG 图像 TIFF 图像等 但我正在寻找更通用的东西 可以对 大类别 中的文件进行分类 如图像 moovies 文本文件等 有没有办法在可可 或 Objective C 中实现这一点 感谢您的帮助
  • 如何在可可中使用核心动画对 png 序列进行动画处理(非触摸)

    我想在 NSImageView 中对 png 序列进行动画处理 但我无法使其工作 它只是不想显示任何动画 有什么建议吗 这是我的代码 void imageAnimation NSMutableArray iconImages NSMutab
  • 监控剪贴板活动可可?

    是否可以在可可中 观看 用户剪贴板 例如 如果我的应用程序是系统托盘样式应用程序 例如 dropbox 客户端 我可以订阅用户在另一个应用程序中点击复制 粘贴时引发的事件吗 你可以随时查看Apple的示例代码 剪贴板查看器 http dev
  • 在 Swift 3 中以编程方式创建没有 XIB 的 NSViewController

    我正在尝试在不使用 Interface Builder 的情况下制作 macOS 应用程序 我的项目已构建并运行 但我的主视图控制器似乎没有加载其视图 那就是viewDidLoad 方法未被调用 我正在使用 Xcode beta 8 0 b
  • NS_ENUM 和 NS_OPTIONS 有什么区别?

    我在 Xcode5 中用 clang 预处理了以下代码 typedef NS ENUM NSInteger MyStyle MyStyleDefault MyStyleCustom typedef NS OPTIONS NSInteger
  • 保留“自我”的坏做法?

    我有一个简单的疑问 希望有人能解答 保留自我是不好的做法吗 我有一个想要创建的服务器请求对象 我希望能够通过以下方式使用它 ARequest request ARequest request someParam request delega
  • GameKit 蓝牙传输问题

    我正在尝试使用 GameKit 框架通过蓝牙发送文件 我遇到的问题是我一次只能发送一个 NSData 对象 但我需要将其保存在另一端 如果不知道文件名 这显然是不可能的 但我不知道如何传输它 我尝试将其转换为字符串NSData data N

随机推荐