【问题标题】:Delete Nsmenu item with specific tag删除带有特定标签的 Nsmenu 项
【发布时间】:2016-07-21 19:37:39
【问题描述】:

我使用这个函数来创建一个NSMenuitems。它们都被标记为 2。

 func addToComputerInfoMenu (title: String)
{
    let addToComputerItem : NSMenuItem = NSMenuItem(title: "\(title)" , action: #selector(openWindow), keyEquivalent: "")

    addToComputerItem.attributedTitle = NSAttributedString(string: "\(title)", attributes: [NSFontAttributeName: NSFont.systemFontOfSize(14), NSForegroundColorAttributeName: NSColor.blackColor()])
    addToComputerItem.tag = 2
    addToComputerItem.enabled = true
    computerInfoMenu.addItem(addToComputerItem)
}

我想以编程方式删除所有带有“2”标签的项目。我尝试使用 .itemWithTag 和 .indexOfItemWithTag。我似乎无法遍历列表。

let itemswithindex2 = computerInfoMenu.itemWithTag(2)

【问题讨论】:

    标签: swift nsmenu nsmenuitem


    【解决方案1】:

    我找到了实现目标的方法。不确定它是最好的解决方案,但它确实有效。

        for item in computerInfoMenu.itemArray
        {
            if (item.tag) == 2
            {
                computerInfoMenu.removeItem(item)
            }
        }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2022-06-11
      • 2016-12-06
      • 2022-08-23
      • 1970-01-01
      • 2016-08-25
      • 1970-01-01
      • 2013-07-30
      • 1970-01-01
      相关资源
      最近更新 更多