@IBAction:回到默认行为
@IBAction: Fall Back to Default Behavior
如何在执行动作时退回到默认行为?
例如,我想处理 table 行复制,同时保留默认的单元格编辑复制行为。或者处理 table 列的 doubleClick
,并且仍然可以通过双击其他列中的单元格进入编辑模式。
@IBAction func copy(_ sender: Any)
{
guard view.window?.firstResponder == myTable &&
myTable.editedRow == -1 else
{
// TODO: Don't break default behavior
return
}
// Copy selected rows
}
当您在代码中添加一个 @IBAction
时,它会出现在 First Responder
的 Received Actions
下的 Interface Builder
中。
一个解决方案是将您想要处理的 Sent Action
连接到 Received Action
而不是直接到您的 @IBAction
代码中。这样其他控件就有机会处理该事件。
如何在执行动作时退回到默认行为?
例如,我想处理 table 行复制,同时保留默认的单元格编辑复制行为。或者处理 table 列的 doubleClick
,并且仍然可以通过双击其他列中的单元格进入编辑模式。
@IBAction func copy(_ sender: Any)
{
guard view.window?.firstResponder == myTable &&
myTable.editedRow == -1 else
{
// TODO: Don't break default behavior
return
}
// Copy selected rows
}
当您在代码中添加一个 @IBAction
时,它会出现在 First Responder
的 Received Actions
下的 Interface Builder
中。
一个解决方案是将您想要处理的 Sent Action
连接到 Received Action
而不是直接到您的 @IBAction
代码中。这样其他控件就有机会处理该事件。