2016-08-19 63 views
-1

我正在研究菜单栏应用程序,现在我想创建一个功能,即当您从首选项中取消选中某个复选框时,菜单项将隐藏。从其他类Cocoa调用IBOutlet

的问题是,偏好另一类则AppDelegate中和复选框在Preferences.xib和菜单项都在MainMenu.xib

有什么建议?




UPDATE:

我通过使用此代码固定它,

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

将菜单项的'hidden'绑定到App Delegate或共享用户默认值控制器的属性。 – Willeke

+0

@Willeke我怎么能做到这一点,即时通讯新可可和objective-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

在夫特郎


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

其中customMenuItem是您的菜单项的出口。

+0

Im using objective-c – Bisquitue

+0

难以翻译吗?我也不知道Objective-C。 'NSApplication.sharedApplication()。delegate'是答案中最重要的部分,它可以帮助你访问网站。 – avvensis

+0

将它翻译成obj-c,它非常感谢! – Bisquitue