Название кнопки NSStatusItem справа от изображения

Я хочу NSStatusItemНазвание кнопки отображается справа от ее изображения. Вот пример, это приложение OS X VPN menubar:

пример

Если я установлю название или изображение для моего NSStatusItemКнопка, они делают правильно. Однако, если я установлю оба, они накладываются и выровнены по горизонтали.

Есть ли способ добиться параллельного размещения без создания пользовательских UIView?

2 ответа

Решение

Это связано с изменением в Йосемити, которое устарело setTitle: а также setImage: на NSStatusItem, Однако документация не очень полезна для того, что делать.

Я обнаружил, что вы должны установить заголовок и изображение на button собственность NSStatusItem, Вот как я получал поведение, описанное выше, с заголовком и изображением в центре друг друга.

Решение простое, но не сразу очевидное. NSStatusBarItem отвечает на setImagePosition: метод NSButton, Вот код, который исправил мою проблему:

self.statusItem.button.image = [NSImage imageNamed:@"StatusBarIcon"];
self.statusItem.button.imagePosition = NSImageLeft;

Сделав это, настройка self.statusItem.button.title правильно позиционирует предметы.

Использование

button.imagePosition = NSControl.ImagePosition.imageLeft

На основе http://tinkker.io/swift/2015/11/10/nsstatusitem.html, в Swift это выглядит так button.imagePosition = NSCellImagePosition.ImageLeft Является ли

Другие вопросы по тегам