我想在登录过程成功完成后以及用户注销后更改菜单项的标题。
但是如果我登录并检查菜单项的标题,它并没有改变。我什至试图隐藏它,但没有成功。
这是我的代码
var mainMenu:NSMenu
var LoginButton:NSMenuItem
mainMenu=NSApplication.sharedApplication().mainMenu!
LoginButton=mainMenu.itemWithTitle("Login")!
LoginButton.title="LogOff"
LoginButton.hidden=true
感谢您的帮助。
将 Interface Builder / Bindings Inspector (
⌥⌘7) 中菜单项的
Title
参数绑定到 dynamic
中具有 AppDelegate
属性的属性。
例如在
AppDelegate
中声明
@objc dynamic var logonTitle = "Login"
并将菜单项的
Title
参数绑定到 AppDelegate
> 模型密钥路径 logonTitle
现在,每当您更改
logonTitle
的值时,标题都会相应更改。
不需要进一步的参考资料、渠道等。
PS:请按照指南中的建议,一致地以小写字母开头命名您的变量。
实际上有更好的方法来解决这个问题。您的项目中将会有一个
Main.strings
文件,其中包含应用程序的 MenuItems 的所有字符串,您可以直接转到那里并根据您的要求进行更新。这样我们也可以支持本地化,而无需更改代码级别。