textView.dataDetectorTypes = UIDataDetectorTypeLink;
リンクを自動検出できることは承知しています。
UITextView
これは簡単に思えますが、の dataDetector が実際に一致を見つけたかどうかを確認する方法が見つかりません。
BOOL hasLink = textView.hasLink;
のようなもの、またはBOOL hasLink = textView.text.hasLink;
参照をプルする方法を探していますNSDataDetector
(おそらくNSDataDetector
メソッドを使用して確認できますが、アイデアを捨てるだけで確認する必要があります)
これを確認する組み込みの方法はありませんか、それとも個別に確認する必要がありますか?
編集:
それで、私はこれを行うために自分自身NSDataDetector
を使用しました(以下のコード)が、検出されたデータ型を抽出する方法や、検出されたデータ型の存在を確認する方法が本当にないのかという疑問が残りUITextView
ます。
これは私が自分自身をチェックするために使用したものです:
-(BOOL) doesTextHaveLink:(NSString *)text {
NSDataDetector *linkDetector = [NSDataDetector dataDetectorWithTypes:NSTextCheckingTypeLink error:nil];
NSArray *matches = [linkDetector matchesInString:text options:0 range:NSMakeRange(0, [text length])];
for (NSTextCheckingResult *match in matches) {
if ([match resultType] == NSTextCheckingTypeLink) {
return YES;
}
}
return NO;
}