У меня есть NSMenu
(принадлежащий NSPopUpButton
), где NSMenuItem
все имеют набор изображений, и я бы хотел, чтобы они отображали только изображения, а не заголовки. Однако я не могу отключить заголовки, поскольку они обеспечивают доступность клавиатуры (и, я думаю, другие специальные возможности). Есть ли способ скрыть заголовок, например, положение изображения NSImageOnly
для NSButton
?
Скрыть заголовок NSMenuItem, просто показать его изображение?
Ответы (2)
Временный обходной путь, который меня не очень радует:
Вместо того, чтобы задавать заголовок NSMenuItem
, установите заголовок с атрибутом в строку с атрибутом предполагаемого заголовка с системным шрифтом невидимо-малого размера, например 0,01.
person
Isaac
schedule
01.07.2012
Это больно +1, но это кажется самым надежным решением для Cocoa AppKit.
- person Ky Leggiero; 25.08.2016
По крайней мере, для первого пункта в меню он отлично работает, если сделать это следующим образом:
- Создайте экземпляр
NSPopUpButton
в интерфейсном конструкторе - Установите тип «Потяните вниз», стиль «Квадрат» и установите изображение.
- Сделать только изображение положения (второй вариант в палитре)
Все эти параметры относятся к части кнопки элемента управления, но они создают меню, первый элемент которого является элементом меню только для изображения. На самом деле заголовок не задан (о чем свидетельствует заполнитель, отображаемый в поле заголовка). Это должно означать, что вы можете установить заголовок на nil
, если вы делаете это программно.
person
Monolo
schedule
01.07.2012
Я думаю, что когда он настроен на раскрывающееся меню, а не на всплывающее, первый элемент меню всегда отображается на кнопке, а не в меню (тогда как во всплывающем окне выбранный элемент меню отображается на кнопке и все меню элементы, в том числе первый, отображаются в меню). То есть, когда я попробовал это, мой первый пункт меню больше не отображался в меню, а все мои последующие пункты меню по-прежнему отображали как свои изображения, так и их заголовки.
- person Isaac; 01.07.2012