我会添加选项来复制表格中的选定单元格,就像在联系人应用程序中一样。
我尝试关注Objective-C的this question并在Swift中使用这些方法:
override func tableView(tableView: UITableView, shouldShowMenuForRowAtIndexPath indexPath: NSIndexPath) -> Bool {
return true
}
override func canPerformAction(action: Selector, withSender sender: AnyObject?) -> Bool {
return (action == #selector(NSObject.copy(_:)))
}
然而,这是一个老问题,我无法使用 Swift 代码显示菜单。有人可以解释如何使用shouldShowMenuForRowAtIndexPath
方法以及如何允许用户复制单元格。
答案 0 :(得分:12)
你引用的是an Objective-C example,但你还没有完成它的目的!你的第二种方法是错误的方法。你想这样说:
override func tableView(tableView: UITableView, canPerformAction action: Selector,
forRowAtIndexPath indexPath: NSIndexPath, withSender sender: AnyObject?)
-> Bool {
return action == #selector(copy(_:))
}
您还需要第三次覆盖:
override func tableView(tableView: UITableView, performAction action: Selector,
forRowAtIndexPath indexPath: NSIndexPath, withSender sender: AnyObject?) {
// ...
}