2011-05-11 16 views
5

Recibo una respuesta del servidor como una picadura que puede contener alguna url o dirección de correo electrónico o número de teléfono, es decir, la misma cadena puede tener los tres o un número y par de url. Nada está arreglado.Cómo puedo hacer clic en un url/correo electrónico/número de teléfono en UITextView

Estoy usando UITextView para mostrar esta picadura en el dispositivo. Ahora lo que quiero es que estas url/correo electrónico/número de teléfono aparezcan como hipervínculo y al hacer clic en este hipervínculo, el usuario debería poder ver una página web si es una url, redactar y enviar un correo electrónico si es su dirección de correo electrónico o llamar al número al hacer clic en número hipervínculo

¿Alguien me puede sugerir una manera de hacer esto. O sugiera cualquier otra vista de datos para usar que pueda facilitar las cosas

+3

Es posible que desee asegurarse de que usted va a través y aceptar respuestas que te ayudan – MarkPowell

+0

Reetiquetado de UITableView a UITextView. La pregunta no menciona UITableView. – idz

Respuesta

16

Configure los tipos de detectores de datos de su UITextView. Hay una serie de opciones:

UIDataDetectorTypePhoneNumber

UIDataDetectorTypeLink

UIDataDetectorTypeAddress

UIDataDetectorTypeCalendarEvent

UIDataDetectorTypeNone

UIDataDetectorTypeAll

Así, en su caso, lo que probablemente gusta hacer:

self.myTextView.dataDetectorTypes = UIDataDetectorTypeAll; 
+0

¿Sabes cómo puedo hacer que el enlace esté subrayado? –

+0

Puede establecer el estilo de los enlaces en 'UITextView' estableciendo la propiedad' UITextView.linkTextAttributes' (consulte https://developer.apple.com/documentation/uikit/uitextview/1618632-linktextattributes) –

0

Puede usar un UIButton y cambiar el título en la URL, correo electrónico o número de teléfono.

Cree un UIButton personalizado con el formato correspondiente para que se vea como una oración normal (los bordes y el fondo del botón tienen el mismo color que el fondo de la vista).

Dé formato al texto para que se vea azul (y opcionalmente subrayado) como this para que la gente sepa que es un hipervínculo.

+0

¿Cómo puedo hacer que el enlace reconocido esté subrayado? Los enlaces hacen el trabajo. –

4

También tenga en cuenta que el TextView no debe ser modificable cuando se utiliza NSDataDetectorTypes.

Let Textview ser un objeto para UITextView, a continuación, establezca:

textView.editable = NO; 

entonces sólo puede detectar los enlaces, números de teléfono, dirección, etc

Cuestiones relacionadas