Objective c 在NSMenuItem内设置NSSlider的位置/宽度
我将一个Objective c 在NSMenuItem内设置NSSlider的位置/宽度,objective-c,macos,cocoa,nsmenu,nsslider,Objective C,Macos,Cocoa,Nsmenu,Nsslider,我将一个NSMenu附加到一个NSStatusItem,在该NSMenu中,我将一个NSMenuItem属性设置为NSSlider对象。这几乎奏效了(它让我得到了我想要的东西) 结果如下所示: 问题是我希望滑块与上面的菜单项对齐,这样看起来就不会那么糟糕了 我在苹果的文档中找不到任何关于能够设置NSSlider的位置的信息,所以我想我必须自己绘制它 这是正确的假设吗?如果是的话,有哪些课堂参考资料/建议的阅读链接可以达到这个效果?或者,我做错了吗 当我这样做的时候——我不得不在UI build
NSMenu
附加到一个NSStatusItem
,在该NSMenu
中,我将一个NSMenuItem
属性设置为NSSlider
对象。这几乎奏效了(它让我得到了我想要的东西)
结果如下所示:
问题是我希望滑块与上面的菜单项对齐,这样看起来就不会那么糟糕了
我在苹果的文档中找不到任何关于能够设置NSSlider
的位置的信息,所以我想我必须自己绘制它
这是正确的假设吗?如果是的话,有哪些课堂参考资料/建议的阅读链接可以达到这个效果?或者,我做错了吗
当我这样做的时候——我不得不在UI builder中将滑块拖动到我想要的宽度——有没有任何方法可以通过编程设置滑块的宽度,从而填充菜单中所需的空间
谢谢,很抱歉,这些都是noob问题-我对ObjC编程相当陌生。首先,创建自己的
NSView
。接下来,将NSSlider
放在该视图中。如果需要特殊间距,请在“容器”视图中调整滑块。或者,在Interface Builder中旋转。从NSControl继承的值方法。e、 g.setFloatValue:CGRectDivide()取出一个合适的框架,然后从边缘减去一点,并将其原点.x与其余控件的原点对齐。您可能需要重新考虑您的设计-作为用户,我不喜欢在菜单中摆弄滑块…@Jay-您可能是对的,但我正在构建的应用程序本质上是非常简单的,只是没有太多的选项/首选项。在这种情况下,创建一个全新的窗口或其他东西来允许我的用户控制播放的音量可能会有点过头。当然,这是一个值得关注的问题,我对这个想法并不感到兴奋,但这是我现在拥有的最好的想法