首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >与popUpMenuPositioningItem:atLocation:inView混淆:

与popUpMenuPositioningItem:atLocation:inView混淆:
EN

Stack Overflow用户
提问于 2009-12-17 09:25:32
回答 3查看 574关注 0票数 0

此方法的文档说明:“在指定位置弹出菜单。”但参数似乎描述了一种不同的情况:

代码语言:javascript
复制
item
The menu item to be positioned at the specified location in the view.

location
The location in the view coordinate system to display the menu item.

view
The view to display the menu item over.

这些参数似乎意味着您将只弹出一个MenuItem。这个方法实际上是做什么的?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2009-12-17 12:00:56

您忘记了一件事:这是您发送给menu对象的消息。

在英语中,信息是:

“嘿,菜单!弹出您自己,将此项目定位在相对于此视图的此位置。“

根据将菜单中的特定项目定位在特定位置的角度,这些参数描述了整个弹出式菜单应该出现的位置。整个菜单显示为弹出式菜单,而不仅仅是定位项目。只弹出一个项目是没有用的。

还有一件事:这个方便的方法是在Snow Leopard中引入的,所以如果你的目标是Leopard或更早的版本,你不能依赖它。您必须使用另一种解决方案,例如我在回答您之前的一个问题时提出的NSPopUpButtonCell。

票数 2
EN

Stack Overflow用户

发布于 2009-12-17 09:44:45

我不知道你怎么知道它可能只是弹出一个菜单项--甚至没有弹出菜单项这样的东西。在参数描述中没有说明它不会显示弹出菜单。参数描述都提到了该项目,因为它们都与其定位相关。它的工作方式如文档所示。

票数 3
EN

Stack Overflow用户

发布于 2009-12-17 11:16:23

为方便起见,您可以设置单个菜单项的坐标。您的菜单将相应地放置在该单个菜单项的周围。

您会注意到,NSPopUpButton的行为是这样的:选定的菜单项始终位于按钮的正上方。

如果你不希望你的菜单是这样的,只要传入你最顶层的菜单项即可。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1918913

复制
相关文章

相似问题

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