概述我试图
子类NSSlider创建一个名为慢速拨号的控件.基本上我需要的是一个总是从中间开始的滑块,当它向左或向右移动时,它会经常发送通知(由可以设置的属性确定)通知其容器当前值,然后当你让你去旋钮,它会回到中间.我希望实现将滑块返回到中间并停止在滑块的mouseUp事件中发送通知的功能但似乎由于某种原因苹果在滑块上的mouseDown事件之后禁用MouseUp事件并处理所有滑块功能在较低的水平.无论 我试图子类NSSlIDer创建一个名为慢速拨号的控件.基本上我需要的是一个总是从中间开始的滑块,当它向左或向右移动时,它会经常发送通知(由可以设置的属性确定)通知其容器当前值,然后当你让你去旋钮,它会回到中间.我希望实现将滑块返回到中间并停止在滑块的mouseUp事件中发送通知的功能但似乎由于某种原因苹果在滑块上的mouseDown事件之后禁用MouseUp事件并处理所有滑块功能在较低的水平.无论如何,我可以恢复mouseUp事件吗?如果没有,任何人都可以提出合理的解决方法解决方法 每当你注意到一个超类的mouseDragged:或mouseUp:的实现没有被调用时,很可能是因为该类的mouseDown:的实现进入了一个跟踪循环.对于包括NSSlIDer在内的许多NSControl子类来说,情况确实如此.
检测鼠标的更好方法是对单元格进行子类化并覆盖相应的跟踪方法.在这种情况下,你可能想要 – (voID)stopTracking:(NSPoint)lastPoint at:(NSPoint)stopPoint inVIEw:(NSVIEw *)controlVIEw mouseIsUp:(BOol)flag,但startTracking:和continueTracking:variants也可能有用为了你想做什么.
总结
以上是内存溢出为你收集整理的子类化NSSlider:需要一种缺少鼠标悬停事件的解决方法(Cocoa OSX)全部内容,希望文章能够帮你解决子类化NSSlider:需要一种缺少鼠标悬停事件的解决方法(Cocoa OSX)所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
评论列表(0条)