Insertar text en UITextField en Posición del cursor

¿Hay alguna manera simple de insert text en la position de intercalación en UITextField? Tengo un keyboard personalizado con algunos caracteres especiales y tengo dificultades para hacer que funcione. No permito la input arbitraria, el keyboard está limitado a cerca de 20 caracteres especiales, y todos los demás son rechazados.

El método para usar el portapapeles global para insert es malo, ya que con VoiceOver encendido dice "Pegar" en lugar del carácter insertado cada vez que lo usa. Lo cual no es lo suficientemente bueno.

Encontrar cualquier solución alternativa parece bastante difícil ya que todo solo hace reference a la solución de pasta.

La solución fue más simple de lo que pensaba:

[self insertText:string]; UIAccessibilityPostNotification(UIAccessibilityAnnouncementNotification, string); 

Esto funcionará correctamente con la selección, position del cursor et. Alabama.

Sin embargo, no utilizará el tono adecuado al anunciar la cadena introducida. VoiceOver utiliza una voz más profunda al anunciar el text insertado, planteé una pregunta por separado sobre cómo controlar el tono de VoiceOver .

Un UITextField implementa el protocolo UITextInput y, por lo tanto, tiene una propiedad 'selectedTextRange', que devuelve la selección o la location del cursor. Lee esto, ya que puedes get mucha información interesante de los methods requeridos en ese protocolo.