我将如何实现像“滑动滑块”一样的东西,比如Photoshop和其他一些图像处理应用程序?
它们稍微难以描述..基本上你有一个常规的数字输入框,但你可以点击并按住鼠标按钮,它的功能就像一个滑块(直到你发布)。如果您在框中单击,您可以照常选择文本,编辑/粘贴/等。
Photoshop docs描述了它,我将a quick example video(Shake中的滑块示例放在一起)
另一个类似的实现是Final Cut Pro中的微动轮,它的功能类似,没有数字读数。
我似乎无法找到实现这些的任何提及,尽管可能有替代名称。它适用于OS X 10.5 Cocoa应用程序。
用于颜色分级应用程序,用户可能需要在同一控件上进行微调(例如0.001),以进行大幅调整(例如,-100 + 100)。常规滑块在该值范围内不够准确。
将值复制并粘贴到框中将是擦除值的第二个问题,Photoshop / Shake设置非常好。控制的不明显也是一个低关注点,因为它不是“常规桌面应用程序”
答案 0 :(得分:5)
我遇到过那些。他们很糟糕,因为它们阻止用户拖动来选择数字的文本。
更好的想法是在场地下方的微型滑块,当用户按住鼠标按钮并在用户释放鼠标按钮时折叠回其微型尺寸时,该滑块可扩展为全尺寸滑块。这样,选择行为仍然可用,但您也以更明显的方式提供滑块。
Cocoa中没有任何一个内置类。你必须实现自己的。
答案 1 :(得分:1)
我怀疑这在Cocoa框架中是否存在。据我所知,Apple Human Interface Guidelines中没有提到它。
您可以使用自定义视图和跟踪鼠标事件(-mouseDown:
,mouseUp:
,-mouseDragged:
)自行开发。