Приложение OS X Menubar с перетаскиванием

У меня есть стандартное приложение строки меню (с выпадающим меню), и я хотел бы добавить возможность для моих пользователей перетаскивать файлы поверх значка строки меню (например, это).

Вы знаете, как это достигается?

Я предполагаю, что мое приложение меню должно принимать перетаскивание. Но что меня действительно смущает, так это то, как красиво анимировано всплывающее окно.

Любые указатели будут высоко оценены!


person RobertJoseph    schedule 27.03.2014    source источник


Ответы (1)


Это просто, вы должны сделать свою кнопку. Вам нужен nsview, чтобы сделать действие перетаскивания и щелчка для открытия меню с помощью класса делегата здесь — пример, который может помочь, и этот ссылка для ссылки на класс nsview.

Теперь вы должны установить это представление на кнопку состояния:

NSStatusItem *_statusItem;
_statusItem = [[NSStatusBar systemStatusBar] statusItemWithLength:NSVariableStatusItemLength];
[_statusItem setView:_buttonview];
person kiarash_kiani    schedule 27.03.2014
comment
Спасибо @kiarashk - я понимаю часть статуса. Меня смущает анимационная часть - посмотрите видео, на которое я ссылаюсь. - person RobertJoseph; 27.03.2014
comment
@CaymanEss, если вы имеете в виду анимацию открытия всплывающего окна, NSPopover имеет эту анимацию по умолчанию, вы должны открыть ее с помощью этого кода: [[self popover] showRelativeToRect:[sender bounds] ofView:sender preferredEdge:NSMaxYEdge]; и если вы хотите больше настроек, вы должны создать свое собственное всплывающее окно. - person kiarash_kiani; 28.03.2014