У меня есть NSMenu
(принадлежащий NSPopUpButton
), где у NSMenuItem
все есть установленные изображения, и я бы хотел, чтобы они отображали только изображения, а не названия. Однако я не могу отменить названия, поскольку они обеспечивают доступность клавиатуры (и, я думаю, другую доступность). Есть ли способ скрыть заголовок, например, положение изображения NSImageOnly
для NSButton
?Скрыть заголовок NSMenuItem, просто показать его изображение?
ответ
временный обходной путь, который на самом деле не делает меня счастливым:
Вместо того чтобы устанавливать заголовок NSMenuItem
, установите приписываемый заголовок приписанной строку предполагаемого заголовка с системным шрифтом в незримо-маленьком размер, такой как 0,01.
По крайней мере, для первого элемента в меню, он отлично работает, когда делается так:
- инстанцировать
NSPopUpButton
в Interface Builder - установлен тип Потяните вниз, стиль площадь и установить изображение ,
- Сделать положение изображения только (второй вариант в палитре)
Эти настройки все относятся к кнопке части управления, но она будет создавать меню с первым пунктом является изображение только меню пункт. На самом деле заголовок не установлен (о чем свидетельствует местозаполнитель, отображаемый в поле заголовка). Это должно означать, что yo может установить заголовок на nil
, если вы сделаете это программно.
Я думаю, что, когда он настроен на вытаскивание вместо всплывающего окна, первый пункт меню всегда отображается в кнопке, а не в меню (тогда как во всплывающем меню выбранный пункт меню отображается на кнопке и все пункты меню, включая первый, отображаются в меню). То есть, когда я это пробовал, мой первый пункт меню больше не показывался в меню, и все мои последующие пункты меню по-прежнему отображали как их изображения, так и их названия. – Isaac
Это больно +1, но это, кажется, самое надежное решение для Cocoa AppKit. –