OS X 10.10 Yosemite — Добавление меню

Я новичок в программировании OSX и недавно начал демонстрационный проект для OS X 10.10. Нашел это -> http://cocoatutorial.grapewave.com/tag/menulet/ хороший учебник чтобы добавить менюлет в строку состояния OSX. Проблема в том, что мой проект использует быстрый язык, а методы и структура/файлы проекта несколько отличаются. Я хотел бы знать, пробовал ли кто-нибудь это на Yosemite? Спасибо.

Изменить: конкретный вопрос будет заключаться в том, как заменить метод awakefromnib для работы с текущим синтаксисом AppDelegate.swift?


person Obj-Swift    schedule 18.06.2014    source источник


Ответы (1)


Все дело в этом...

class AppDelegate: NSObject, NSApplicationDelegate {

    @IBOutlet var window: NSWindow // Remove this and delete window in IB to remove window
    // ... also, remove MainMenu from IB.
    @IBOutlet var statusMenu: NSMenu
    var statusItem: NSStatusItem? = nil

    func applicationDidFinishLaunching(aNotification: NSNotification?) {
        // Insert code here to initialize your application
    }

    func applicationWillTerminate(aNotification: NSNotification?) {
        // Insert code here to tear down your application
    }

    override func awakeFromNib() {
        self.statusItem = NSStatusBar.systemStatusBar().statusItemWithLength(CGFloat(NSVariableStatusItemLength))
        self.statusItem!.menu = self.statusMenu
        self.statusItem!.title = "Status"
        self.statusItem!.highlightMode = true
    }

    @IBAction func doSomethingWithMenuSelection(sender : AnyObject) {
        println("Action pressed")
    }

}

Я просто скопировал его по вашей ссылке и перевел на Swift. Он по-прежнему показывает окно и т. д., которые должно быть тривиально удалить... UPDATE показал, как...

(и, конечно же, я запускаю его на Yosemite)

person Grimxn    schedule 18.06.2014
comment
Спасибо @Grimxn. Файл .xib выглядел немного иначе, чем ссылка выше, но он работал. - person Obj-Swift; 19.06.2014
comment
Я только что создал стандартное приложение Xcode для болота. Я предполагаю, что в статье, на которую вы указали, что-то указано, но я только читал их код! - person Grimxn; 19.06.2014