【问题标题】:swift 3 check the row where the button was pressedswift 3检查按下按钮的行
【发布时间】:2017-05-21 09:39:00
【问题描述】:

我有一个带有自定义单元格的大纲视图。 一切正常,但我需要知道,如果按下按钮,该按钮在哪个行号。

我怎样才能得到这个行号?

【问题讨论】:

  • 您可以在这里找到它,希望对您有所帮助。 stackoverflow.com/questions/28659845/…
  • sry,也许我不得不说我使用 nsoutlineview 而不是 tableview(我的错误)并且我为 OS X 编程,而不是为 iOS 编程

标签: macos swift3 xcode8


【解决方案1】:

您可以将按钮的操作连接到视图控制器中的 IBAction(或任何知道大纲视图的信息),然后在大纲视图上调用 row(for:)

@IBAction func buttonClicked(_ sender: NSButton) {
    print("button row:", outlineView.row(for: sender))
}

直接来自文档:

此方法通常在 NSButton 的操作方法中调用 (或 NSControl)找出操作应该是哪一行(哪一列) 执行。

【讨论】:

  • 但我无法在视图控制器类中创建我的按钮的 IBAction,因为我的 Butte 已分配给自定义单元格类
  • 你不能是什么意思?您可以将操作发送到任何对象。或者您是在代码中创建界面,而自定义单元格不知道大纲视图?在任何情况下,请注意您可以向第一响应者发送操作(通过在代码中将 target 设置为 nil 或通过连接到 Interface Builder 中的“First Responder”)。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2011-09-20
  • 2018-01-05
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多