2016-08-19 2 views
-1

Я работаю над программным меню, и теперь я хочу создать функцию, которая, когда вы снимите флажок из настроек, элемент меню скроется.Вызов IBOutlet из другого класса Cocoa

Проблема заключается в том, что предпочтения другой класс, то AppDelegate и флажок в Preferences.xib и пункты меню в MainMenu.xib

Есть предложения?




UPDATE:

Я установил его с помощью этого кода,

[[[[NSApplication sharedApplication] delegate] iboutlet] setHidden:NO]; 
+0

Привязать «скрытый» элемент меню к свойству делегата приложения или контроллера общих настроек пользователя. – Willeke

+0

@Willeke, как я могу это сделать, im new для какао и объектива-c – Bisquitue

+0

Хорошо, начните со скрытия пункта меню в коде. Прочтите [Введение в меню приложений и всплывающие списки] (https://developer.apple.com/library/prerelease/content/documentation/Cocoa/Conceptual/MenuList/MenuList.html#//apple_ref/doc/uid/10000032 -SW1). Или пусть делегат приложения ('[делегат NSApp]') скроет пункт меню. – Willeke

ответ

1

В Swift Ланг


if let appDelegate = NSApplication.sharedApplication().delegate as? AppDelegate { 
     appDelegate.customMenuItem.hidden = true // or false 
} 

, где customMenuItem - это выход из вашего пункта меню.

+0

Im using object-c – Bisquitue

+0

Трудно перевести? Я тоже не знаю Objective-C. 'NSApplication.sharedApplication(). Delegate' является наиболее важной частью ответа, который поможет вам получить доступ к розетке. – avvensis

+0

Перевел его на obj-c, и это так сильно отразилось! – Bisquitue

Смежные вопросы