用swift更改NSMenuItem标题

时间:2016-08-24 16:02:23

标签: swift macos nsmenu nsmenuitem

我想在登录过程成功完成后更改MenuItem的标题并强制用户注销。但我登录并检查菜单项的标题,它没有改变。我甚至试图隐藏它,但没有成功。

这是我的代码

    var mainMenu:NSMenu
    var LoginButton:NSMenuItem
    mainMenu=NSApplication.sharedApplication().mainMenu!
    LoginButton=mainMenu.itemWithTitle("Login")!
    LoginButton.title="LogOff"
    LoginButton.hidden=true

感谢您的帮助。

1 个答案:

答案 0 :(得分:2)

将Interface Builder / Bindings Inspector(⌥⌘7)中菜单项的Title参数绑定到dynamic中具有AppDelegate属性的属性。

例如在AppDelegate

中声明
dynamic var logonTitle = "Login"

并将菜单项的Title参数绑定到AppDelegate>模型关键路径logonTitle

现在每当您更改logonTitle的值时,标题都会相应更改。

不需要进一步的参考,出口等。

PS:请按照指南中建议的小写字母开始一致地命名变量。