如何限制NSPopUpButton的“弹出”大小?

我有一个大名单 - 超过200个项目 - 由NSPopUpButton管理。 点击时,列表一直延伸到屏幕及以后的顶部或底部。

如何限制开放的大小,所以,在大部分20个左右的项目显示了在一次?

--------------解决方案-------------

200项目是太多的弹出菜单。 Mac的人机界面指南建议的弹出菜单可以包含最多12个项目。

你需要重新考虑你的设计。 我建议,而不是弹出式菜单,您可以创建一个单列NSTableView无头,让你的用户从选项的滚动列表中选择一个项目。

我找到的解决方案是以下几点:

我子类NSPopUpButton,在我的子类定义confinementRectForMenu:onScreen: (该NSMenuDelegate协议的一部分)。 这限制了该列表占用的空间。 不幸的是,你不能只是指定大小,但必须做的工作,以确定位置。 你可以把[self frame] origin ,使用[[self superview] convertPointToBase:] ,轻推过来一点,做任何其他的计算,然后做一个最终转化[[self window] convertBaseToScreen:]

分类:可可 时间:2015-03-15 人气:3
本文关键词: 可可,nspopupbutton
分享到:

相关文章

Copyright (C) 55228885.com, All Rights Reserved.

55228885 版权所有 京ICP备15002868号

processed in 2.564 (s). 10 q(s)