es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

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:

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)
   }
}
Tags:  , ,

Answer

  1. Avatar for 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.

Comments are closed.