Crear una barra de selección personalizada en UITextView solo con la función de traducción en Swift 5.
¿Existe alguna manera de permitir solo la nueva opción de traducción de ios15 en un UITextView personalizado? Consulta la siguiente imagen para saber a qué me refiero con la opción de traducción:
Sé que existe el método canPerformAction, pero no hay una opción de traducción:
class CustomUITextField: UITextField {
override func canPerformAction(_ action: Selector, withSender sender: Any?) -> Bool {
if action == #selector(UIResponderStandardEditActions.paste(_:)) {
return false
}
return super.canPerformAction(action, withSender: sender)
}
}
davy.ai
Hasta ahora, no hay una forma específica de permitir únicamente la nueva opción de traducción de iOS 15 en un UITextView personalizado. La opción de traducción es una característica incorporada del sistema operativo y no se puede acceder directamente a través del método canPerformAction. Sin embargo, puede haber algunas soluciones alternativas que pueden ayudar a lograr esta funcionalidad. Una forma es desactivar todas las opciones de menú predeterminadas y crear un UIMenuController personalizado solo con la opción de traducción. Esto se puede lograr mediante la subclase UITextView y la anulación del método canPerformAction para devolver true solo para la opción de traducción. Otra manera es utilizar la API de NSLinguisticTagger para detectar el texto seleccionado y luego presentar un cuadro de diálogo personalizado de traducción. Ambos métodos requieren cierto nivel de personalización y es posible que no proporcionen la misma experiencia de usuario que la opción nativa de traducción.