NSToolbar特殊区域
我喜欢尝试完全接管 NSToolbar 所在的区域,这样我就可以放置我自己的自定义控件、视图和背景。使用此区域的优点是:
- 任何滑动面板都出现在工具栏区域下方,而不仅仅是标题栏。
- 在 Lion 中,当鼠标位于屏幕顶部时,工具栏区域会与菜单栏一起下降。
我尝试过使用无边框窗口,并在其中实现我自己的自定义视图,但不幸的是我失去了上述优点以及其他一些小问题。
我当前的方法是将未记录的方法“_toolbarView”与 NSToolbar 一起使用,并将我的自定义视图添加到其子视图中。这很好用,因为我可以关闭工具栏自定义。不幸的是,工具栏的大小是用该工具栏中的项目初始化的。有谁知道我是否可以在不添加假 ToolbarItem 的情况下更改工具栏的大小?
也许还有一种我目前不知道的更好的方法。 感谢您的任何建议和意见。
I like to try to completely take over the area where the NSToolbar resides so I can put my own custom controls, views and background. The advantages of using this area are:
- Any sliding panels appear below the toolbar area instead of just the title bar.
- In Lion, the toolbar area comes down along with the menu bar when the mouse is at the top of the screen.
I have tried using a borderless window, and implementing my own custom views within it but unfortunately I lose the above advantages as well as having a few other minor problems.
My current method is to use the undocumented method '_toolbarView' with the NSToolbar and add my custom view into its subviews. This works fine as I can turn off toolbar customisation. Unfortunately, the size of the toolbar is initialised with the items within that toolbar. Does anyone know if I can change the size of toolbar without adding a fake ToolbarItem?
Maybe there's also a better way of doing this that I am currently unaware of.
Thanks for any suggestions and comments.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
无需使用任何未记录的 API。只需创建一个具有自定义视图的工具栏项:
您可以使用该项目的
minSize
和maxSize
属性(例如在您的NSWindowDelegate
中)控制自定义工具栏的大小的-windowDidResize:
)。请记住还要更新工具栏显示模式,使其不显示项目标签:
No need to use any undocumented APIs. Just create a toolbar item with a custom view:
You can control your custom toolbar’s size using the item’s
minSize
andmaxSize
properties (e. g. in yourNSWindowDelegate
’s-windowDidResize:
).Remember to also update the toolbar display mode so it doesn't show item labels: