Раскрытие кнопки отображения меню - PullRequest
6 голосов
/ 21 декабря 2011

Пожалуйста, дайте мне совет, как реализовать этот вид кнопки раскрытия, как на моем скриншоте - кнопка раскрытия "стрелка вниз", отображающая меню при нажатии:

What do I want

Iпробовал два подхода, используя NSPopupButton и NSButton со стилем раскрытия и отображением меню вручную:

  • NSPopupButton продолжает отображать текст значения по умолчанию и не может быть изменен в интерфейсеBuilder в узком размере.

    NSPopupButton

  • NSButton отображает меню, но оно явно не в той точке, где я нажимаю кнопку, а не внижний край.Я использую следующий код:

    - (IBAction)handleShowMenu:(id)sender
    {
        [NSMenu popUpContextMenu:profileMenu
                       withEvent:[NSApp currentEvent]
                         forView:sender];
    }
    

    NSButton with menu

Так, как правильно отобразить такое меню?

Ответы [ 2 ]

4 голосов
/ 21 декабря 2011

Я справился с этим! Правильная настройка - использовать NSPopupButton с типами " Без стрелки " и " Раскрытие ", тип Momentary Push In .

1 голос
/ 21 декабря 2011

Если изменить стиль рамки всплывающей кнопки на «Текстурированный», а стрелку на «Центр», то появится первый скриншот.Если вы не хотите, чтобы заголовок выбранного элемента отображался, вам также нужно установить «Положение» на «только изображение» (белый квадрат).

Редактировать: я пробовал это в IB 3 итолько симулировал интерфейс.Кажется, что «текстурированный» стиль выглядит по-другому в Xcode 4. «Круглая текстурированная» близка, но она не центрирует треугольник по горизонтали.

...