iOS 10。斯威夫特3
我把这个放到了UITextView的课堂上。似乎是在弹出菜单中删除某些功能的最佳答案。一开始我对它的崩溃有意见,我接受了这个问题的答案并投票认为是正确的。。。但在进一步的测试中。。我发现代码根本无法按预期工作。
不幸的是它实际上什么也没做,绝对没做!!比编译更能抓住菜单选项,而不是不管怎么做,即使我试图忽略它们。
就我在其他的职位上所知,它似乎曾经在目标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/