2015-08-26 5 views
0

Я пытаюсь создать приложение в виде строки в swift. Я хочу установить изображение и текст для элемента статуса. Очевидно, что NSStatusItem устарел, настроив пользовательский вид с 10.10, и это нормально, поскольку я могу установить изображение и текст на кнопку элемента состояния. Однако по какой-то причине я не могу установить свойство imagePosition, поэтому текст и изображение перекрываются.NSButton не позволит мне установить свойство imagePosition

Это мой код:

let statusItem = NSStatusBar.systemStatusBar().statusItemWithLength(-1) 

    func applicationDidFinishLaunching(aNotification: NSNotification) { 
    let icon = NSImage(named: "statusIcon") 
    icon!.setTemplate(true) // best for dark mode 

    statusItem.button!.image = icon 
    statusItem.button!.imagePosition = ImageLeft 
    statusItem.button!.title = "Hello, world" 

    statusItem.menu = menu; 
    } 

Проблема заключается в том, что Xcode дает мне ошибку на этой линии:

statusItem.button!.imagePosition = ImageLeft 

Он говорит: «Использование неразрешенного идентификатора" ImageLeft», но из что я могу сказать из документации (https://developer.apple.com/library/mac/documentation/Cocoa/Reference/ApplicationKit/Classes/NSCell_Class/index.html#//apple_ref/c/tdef/NSCellImagePosition), которая является идентификатором, который я хотел бы использовать.

Может ли кто-нибудь помочь?

+0

Что происходит, когда вы используете Int из '2' вместо этого? –

+0

Это дает другую ошибку «Невозможно присвоить значение типа« Int »значению типа« NSCellImagePosition » – jakev

+0

Да, это правильное сообщение ... и похоже, что вы поняли ответ :) –

ответ

2

Я понял. Очевидно, мне нужно много узнать о синтаксисе Swift.

Эта линия позволяет ему работать:

statusItem.button!.imagePosition = NSCellImagePosition.ImageLeft