2016-03-21 21 views
0

検出Linksが選択され、動作がselectable and editableのUITextViewがチェックされていません。接頭辞「wwwまたはhttp://またはhttps:// etc」を持つリンクを検出しますが、単にgoole.co.inを検出しません。任意の解決策。iOS UITextViewリンク検出

+0

解説はhttp://stackoverflow.com/questions/995219/how-to-make-uitextview-detect-links-for-website-mail-and-phone-number/37745157#37745157を参照してください。 –

答えて

1

これは、あなたの質問のためのソリューションではないかもしれないが、私はあなたの質問の元のために

に基づいて1奇妙な問題を発見した:私はこのコードを書くとき

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

が、それはのTextView内のリンクを検出します'google.co.uk'、 'google.co.us'、 'google.com'の場合も同様です。リンクにテキストが含まれている場合は、その文字を入力してください。

私たちがテキストを 'google.co.in'に変更した場合、それはリンクを検出しません。私にはtrがあります「google.co.test」でIEDこれはまた、

だからそれはdataDetectorTypes "のリンク検出パターンをデフォルトに関連したものになるかもしれリンクを検出していない他のあなたのコードは、他のURLの

のために働くことあなたは、静的リンクリンクを持っている場合は、このリンクはTextViewにそれ以外の別のオプションとして

で検出された場合は、AppleのAREN場合は、独自のチェックを実行し、それが

+0

より速い応答に感謝します。しかし、私は同じ問題に直面しているリンクの種類を検出しますが、google.co.inのようないくつかの他のものを検出しないでください... – Sudheesh

0

代わりに、あなたのケースで動作する場合は、のUIWebViewを試すことが確認できますあなたが必要とするものを引き上げることはありません。 UITextViewからのテキスト出力を実行し、 '.co.in'などの特定のキーワードを探し、それらが存在する場合はそれらを強調表示します(または何でも)。

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

UPDATE

あなたはattributedStringsを使用して文字列内の特定のテキストを強調表示することができますタッチについて

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]; 

を、全体UILabel上でタップジェスチャー認識器を配置することが可能であろうと、

を使用して、タップの位置を検出します。

とし、タップの位置が既知の単語のフレームと重なるかどうかを確認します。

あなたがしたいことを達成するためのより簡単な方法があるかもしれないと感じますが、私はそれが何であるか覚えていません。

+0

ありがとう@ジョニーはどのようにリンクのすべての出現のためのリンクタップのイベントの色の変更を追加するドメイン。 – Sudheesh

関連する問題