我有一个大的列表 - 超过200个项目 - 由NSPopUpButton管理。点击后,列表一直延伸到屏幕的顶部或底部并超出屏幕。如何限制NSPopUpButton的“弹出”大小?
如何限制开放尺寸,以便最多显示20个左右的项目?
我有一个大的列表 - 超过200个项目 - 由NSPopUpButton管理。点击后,列表一直延伸到屏幕的顶部或底部并超出屏幕。如何限制NSPopUpButton的“弹出”大小?
如何限制开放尺寸,以便最多显示20个左右的项目?
我发现的解决方案是以下内容:
我子类NSPopUpButton,在我的子类定义confinementRectForMenu:onScreen:
(所述NSMenuDelegate协议的一部分)。这限制了列表占用的空间。不幸的是,你不能只指定一个尺寸,但必须完成确定位置的工作。你可以拿[self frame] origin
,使用[[self superview] convertPointToBase:]
,微调一下,做任何其他的计算,然后用[[self window] convertBaseToScreen:]
做最后的转换。
嗨,我陷入了同样的问题,请你可以发表一些代码.. –
你想表达什么类型的内容?可能有更好的方法来做到这一点。 –