iOS 10. swift 3
我用 UITextView 将其放入我的类中。似乎是删除弹出菜单中某些功能的最佳答案。最初遇到崩溃问题,我接受并投票认为该问题的答案是正确的......但在进一步测试时......我发现代码根本无法按预期工作。
不幸的是它实际上什么也没做,绝对什么都没有!!除了编译似乎捕捉菜单选项,而不是无论如何做它们,即使我试图忽略它们。
据我在其他 SO 帖子中所知,它似乎曾经在 Objective C 中工作,但在 Swift 中却不行?有没有人设法在 Swift 中获得一个看起来像这样的工作版本,我在这里缺少一些细微的代码更改。
override public func canPerformAction(_ action: Selector, withSender sender: Any?) -> Bool {
if (action == #selector(cut)) {
return false
}
return super.canPerformAction(action, withSender: sender)
}
最佳答案
您需要稍微重新组织您的实现。应该是:
override public func canPerformAction(_ action: Selector, withSender sender: Any?) -> Bool {
if (action == #selector(delete)) {
return false
} else {
return super.canPerformAction(action, withSender: sender)
}
}
如您所见,您忽略了 super.canPerformAction
的结果并始终返回 true。这很糟糕,因为您的类不会响应每个选择器。
关于ios - 对可编辑文本禁用某些 UITextView 操作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40848421/