2016-03-21 17 views
0

Algılama ile bir UITextView var Links seçildi ve selectable and editable davranışı işaretlenmemiş. 'Www veya http: // veya https: // etc' önekiyle bağlantıları algılar, ancak goole.co.in'i algılamaz. Herhangi bir çözüm.iOS UITextView Bağlantı tespiti

+0

Çözüm için http://stackoverflow.com/questions/995219/how-to-make-uitextview-detect-links-for-website-mail-and-phone-number/37745157#37745157 adresine bakın. Daha hızlı yanıt için –

cevap

1

Bu soru için çözüm olmayabilir ama sorunuzun ex

dayalı bir garip sorunu bulduk: ben bu kodu yazarken

txtTest.userInteractionEnabled = true; 
    txtTest.selectable = true 
    txtTest.dataDetectorTypes = .Link; 
    txtTest.text = "stackoverflow.com" 

o textview bağlantıyı tespit , aynı durumda 'google.co.uk', 'google.co.us', 'google.com' için orada olacak, metinde herhangi birini yazıyorsa bağlantıyı algılar

Ama siz 'google.co.in' metnini değiştirdiğimizde, bağlantıyı algılamadıkça, tr 'Google.co.test' ile ied bu da,

Yani 'dataDetectorTypes' bağlantı algılama modelini varsayılan ilgili bir şey olabilir bağlantısını algılamaz başka kodunuzu diğer url en

çalışabilir statik bağlantı bağlantılar varsa bu bağlantılar textview Else başka seçenek olarak

tespit edildiği takdirde Apple'ın aren eğer kendi kontrolleri çalıştırın,

+0

teşekkürler. Ama aynı sorunla karşı karşıyayım aynı zamanda bağlantı çeşitleri tespit ama google.co.in gibi başkalarını algılama yok ... – Sudheesh

0

Alternatif sizin durumda çalışır eğer UIWebView deneyebilirsiniz kontrol edebilirsiniz İhtiyacın olanı çekiyorum. UITextView'den metin çıktısı ile çalışın ve '.co.in' gibi belirli anahtar kelimeleri arayın ve var olması gerektiğini vurgulayın (ya da her neyse).

NSString * text = textView.text; 
if ([text containsString:".co.in"]){ 
    //Indian domain found 
} 

Bir dizesinde belirli bir metin vurgulayabilirsiniz

GÜNCELLEME kullanarak attributedStrings: dokunuşlar İlişkin

NSMutableAttributedString * attributedString = [[NSMutableAttributedString alloc] initWithString:myString]; 
UIFont * boldFont = [UIFont fontWithName:@"HelveticaNeue-Bold" size:16.0f]; 
NSDictionary * attributedDict = [NSDictionary dictionaryWithObjectsAndKeys:boldFont, NSFontAttributeName, [UIColor blueColor], NSForegroundColorAttributeName, nil]; 
NSRange range = [myString rangeOfString:@"www.google.co.in"]; 
[attributedString setAttributes:attributedDict range:range]; 
[myLabel setAttributedText:attributedString]; 

, tüm UILabel üzerinde vurma hareketi Recogniser yerleştirmek mümkün olacağını ve daha sonra bunu kullanarak dokunun konumunu tespit edin:

-(void)longPressDetected:(UILongPressGestureRecognizer *)sender { 
    CGPoint touchLocation = [sender locationInView:myLabel]; 
} 

ve buradan, musluk konumunun bilinen sözcük çerçeveleriyle çakışıp çakışmadığını kontrol edin.

Yapmak istediğiniz şeyi başarmanın daha kolay bir yolu olabileceğini hissediyorum, ancak ne olduğunu hatırlayamıyorum.

+0

Teşekkürler @Johnny o zaman Bağlantılar için tüm oluşumlar için Link dokunun olay renk değişimi eklemek nasıl domain. – Sudheesh