2011-05-11 11 views
5

Sto ricevendo una risposta del server come una puntura che può contenere qualche url o indirizzo email o numero di telefono, vale a dire una stessa stringa può avere tutti e tre o un numero e un paio di url. Niente è stato risoltoCome un URL/email/numero di telefono cliccabile su UITextView

Sto usando UITextView per mostrare questo pungiglione sul dispositivo. Ora quello che voglio è che questi url/email/numero di telefono vengono visualizzati come collegamento ipertestuale e quando si fa clic su questi utenti ipertestuali dovrebbero essere in grado di vedere una pagina Web se sono url, redigere e inviare una e-mail se il proprio indirizzo e-mail o chiamare il numero quando si fa clic su numero hyper link

Qualcuno può suggerirmi un modo per farlo. Oppure suggerire qualsiasi altra visualizzazione dati da utilizzare che possa semplificare le operazioni

+3

Si potrebbe desiderare di assicurarsi di andare e accettare risposte che ti aiutano. – MarkPowell

+0

Ritestato da UITableView a UITextView. La domanda non menziona UITableView. – idz

risposta

16

Impostare i tipi di rilevatore di dati del vostro UITextView. Ci sono una serie di opzioni:

UIDataDetectorTypePhoneNumber

UIDataDetectorTypeLink

UIDataDetectorTypeAddress

UIDataDetectorTypeCalendarEvent

UIDataDetectorTypeNone

UIDataDetectorTypeAll

Quindi, nel tuo caso, si sarebbe probabilmente piace fare:

self.myTextView.dataDetectorTypes = UIDataDetectorTypeAll; 
+0

Sai come posso rendere il collegamento sottolineato? –

+0

È possibile impostare lo stile dei collegamenti in 'UITextView' impostando la proprietà' UITextView.linkTextAttributes' (consultare https://developer.apple.com/documentation/uikit/uitextview/1618632-linktextattributes) –

0

È possibile utilizzare un UIButton e modificare il titolo nell'URL, nell'e-mail o nel numero di telefono.

Creare un UIButton personalizzato con il formato corrispondente per renderlo simile a una frase normale (i bordi e lo sfondo del pulsante hanno lo stesso colore dello sfondo della vista).

Formatta il testo per renderlo blu (e facoltativamente sottolineato) come this in modo che la gente sappia che si tratta di un collegamento ipertestuale.

+0

Come posso rendere sottolineato il collegamento riconosciuto? I collegamenti fanno il lavoro. –

4

Si noti inoltre che il TextView non dovrebbe essere modificabile quando si utilizza NSDataDetectorTypes.

Sia TextView essere un oggetto per UITextView, quindi impostare:

textView.editable = NO; 

allora solo in grado di rilevare i link, numeri di telefono, indirizzo, ecc

Problemi correlati