如何从TextView的斯威夫特删除查找和分享3
我可以删除,剪切,复制,粘贴,选择,使用这种如何从TextView的斯威夫特删除查找和分享3
override public func canPerformAction(_ action: Selector, withSender sender: Any?) -> Bool {
if action == #selector(copy(_:)) || action == #selector(paste(_:)) || action == #selector(selectAll(_:)) || action == #selector(cut(_:))
{
return false
}
return super.canPerformAction(action, withSender: sender)
}
所有选择,但我不能删除查找&分享
任何人都可以请建议我如何删除它?
// Make sure
override func canPerformAction(_ action: Selector, withSender sender: Any?) -> Bool {
if action == #selector(select(_:))
{
return true
} else {
return false
}
}
如果你真的不想允许任何操作,为什么你要特别检查它们中的每一个?只需在您的方法中返回false。否则,你可以放置一个断点,看你要调用的“行动”是什么,并添加另一个验证它
而结果,与2在要删除强调:
BlahTextView :: canPerformAction:切: BlahTextView :: canPerformAction:副本: BlahTextView :: canPerformAction:选择: BlahTextView :: canPerformAction:全选: BlahTextView :: canPerformAction:贴: BlahTextView :: canPerformAction:删除: BlahTextView :: canPerformAction:_promptForReplace: BlahTextView :: canPerformAction:_transliterateChinese: BlahTextView :: canPerformAction:_showTextStyleOptions: BlahTextView :: canPerformAction:_lookup: BlahTextView :: canPerformAction:_define: BlahTextView :: canPerformAction:_addShortcut: BlahTextView :: canPerformAction:_accessibilitySpeak: BlahTextView :: canPerformAction:_accessibilitySpeakLanguageSelection: BlahTextView :: canPerformAction:_accessibilityPauseSpeaking: BlahTextView :: canPerformAction:_share: BlahTextView :: canPerformAction:makeTextW ritingDirectionRightToLeft: BlahTextView :: canPerformAction:makeTextWritingDirectionLeftToRight:
然后你就可以这样做:
override public func canPerformAction(_ action: Selector, withSender sender: Any?) -> Bool {
if action == #selector(copy(_:)) ||
action == #selector(paste(_:)) ||
action == #selector(select(_:)) ||
action == #selector(selectAll(_:)) ||
action == #selector(cut(_:)) ||
action == Selector(("_lookup:")) ||
action == Selector(("_share:"))
{
return false
}
return super.canPerformAction(action, withSender: sender)
}
替代语法是必需的,因为这些方法没有公开声明,你会得到一个编译错误,如果例如,您使用#selector(份额( :))。要
抬头不被删除 –
也试过了。查找不会被删除。它在文档中解释说其他组件可以说是正确的,这将覆盖这里完成的内容。 https://developer.apple.com/documentation/uikit/uiresponder/1621105-canperformaction –
正如你在一个答案的评论中提及到刚启用select
那么你为什么不比较select
而在其他情况下,返回true
它和false
。
override public func canPerformAction(_ action: Selector, withSender sender: Any?) -> Bool {
if action == #selector(select(_:)) {
return true
}
return false
}
我不想禁用所有......我只是想能够选择... –
如果行动== #selector(选择(_ :)) { 还真 }其他{FALSE} – karthik
使用此条件 – karthik