热衷于创建自定义 NSSlider,例如“启动屏幕保护程序:”系统偏好设置中的滑块
如何创建与系统偏好设置中的滑块完全相同的自定义 NSSlider ->台式机和屏幕保护程序 ->屏幕保护程序 ->启动屏幕保护程序: ?
我尝试使用重写的 continueTracking: 来子类 NSSliderCell:但它无法按预期工作。
How to create custom NSSlider that is working exactly as slider in System Preferences -> Desktop & Screen Saver -> Screen Saver -> Start screen saver: ?
I tried to subclass NSSliderCell with overridden continueTracking: but it don't work as expected.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
我尝试了一下,至少从
NSSliderCell
子类开始了一个很好的开始。MDSliderCell.h
:MDSliderCell.m
:基本上,在
-continueTracking:at:inView:
期间,它会检查它与刻度线,如果足够接近,则会打开仅允许刻度线值的选项。这会导致它捕捉到刻度线,然后一旦你距离足够远,你就关闭“仅刻度线”选项,直到你足够接近另一个刻度线。I played around for a bit and at least got off to a pretty good start with an
NSSliderCell
subclass.MDSliderCell.h
:MDSliderCell.m
:Basically, during the
-continueTracking:at:inView:
, it checks to see how close it is to a tick mark, and if it's close enough, it turns on the option to only allow tick mark values. That causes it to snap to the tick mark, then once you get far enough away, you turn the "tick mark-only" option off until you get close enough to another tick mark.