首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >NSToolbar专区

NSToolbar专区
EN

Stack Overflow用户
提问于 2011-08-14 16:19:35
回答 1查看 2.1K关注 0票数 3

我喜欢尝试完全接管NSToolbar所在的区域,这样我就可以设置自己的自定义控件、视图和背景。利用这一领域的优势是:

任何滑动面板都会出现在工具栏区域下面,而不仅仅是标题栏。在Lion中,当鼠标位于屏幕顶部时,工具栏区域与菜单栏一起下降。。

我尝试使用一个无边界窗口,并在其中实现我自己的自定义视图,但不幸的是,我失去了上述优势以及其他一些小问题。

我的当前方法是在_toolbarView中使用无文档的方法‘NSToolbar’,并将我的自定义视图添加到它的子视图中。这很好,因为我可以关闭工具栏自定义。不幸的是,工具栏的大小是用工具栏中的项初始化的。有人知道我是否可以在不添加假ToolbarItem的情况下改变工具栏的大小?

也许还有一种更好的方法来做这件事,我目前还不知道。谢谢您的建议和意见。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-08-15 07:33:12

不需要使用任何无文档的API。只需创建具有自定义视图的工具栏项:

代码语言:javascript
复制
- (NSToolbarItem *)toolbar:(NSToolbar *)toolbar itemForItemIdentifier:(NSString *)itemIdentifier willBeInsertedIntoToolbar:(BOOL)flag {
    NSToolbarItem *item = [[[NSToolbarItem alloc] initWithItemIdentifier:itemIdentifier] autorelease];
    …
    [item setView:myCustomToolbarView];
    …
}

您可以使用项的minSizemaxSize属性(例如,在NSWindowDelegate-windowDidResize:中)控制自定义工具栏的大小。

还记得更新工具栏显示模式,这样它就不会显示项目标签:

代码语言:javascript
复制
[toolbar setDisplayMode: NSToolbarDisplayModeIconOnly];
票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7058046

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档