【问题标题】:use of controls in Mac OS application在 Mac OS 应用程序中使用控件
【发布时间】:2019-09-17 04:18:16
【问题描述】:

在一个视图中,有按钮、单选按钮和一些具有相同的 IBAction。我想知道点击的是哪一个? 导致该操作的函数将 Sender 作为参数。 不幸的是,我不知道发件人的名字。 在 Delphi 等其他语言中,我们可以通过以下指令知道发送者的名称:sender as Button).Name。可可斯威夫特也有同样的吗?

【问题讨论】:

标签: swift cocoa


【解决方案1】:

您可能正在寻找NSView.tag 属性:

一个整数,可用于标识应用程序中的视图对象。

您可以在代码中为控件添加标签:

yourControl.tag = 10

或在故事板中:

然后你可以检查发件人的标签:

if sender.tag == 10 {
    // that's yourControl!
}

【讨论】:

  • 这解决了我的问题。 Sender 参数是否有其他属性或方法?如果是,我在哪里可以阅读它们
  • @AlfredKrief sender 是发送操作的任何控件。如果是按钮,则为NSButton。如果是文本字段,则为NSTextField。它将具有这些类(及其超类)定义的任何属性。你可以通过谷歌搜索他们的类名来查看他们的文档。
  • 好的,我明白了。我可以使用相同的道具。以及发送方和控件的方法。
猜你喜欢
  • 2011-12-08
  • 1970-01-01
  • 2012-07-27
  • 2011-04-11
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-04-21
  • 2013-01-19
相关资源
最近更新 更多