2016-07-16 2 views
0

나는 자동 검색 링크를 textView.dataDetectorTypes = UIDataDetectorTypeLink; 할 수 있다는 것을 알고 있습니다.UITextView에 url (부울 값)이 있는지 확인하거나 URL 추출

이제 이것은 간단 해 보이지만 UITextView의 dataDetector가 실제로 일치하는지 확인하는 방법을 찾을 수 없습니다.

내가 (단지 아이디어를 던지고, 나는 아마 확인 NSDataDetector 방법을 사용할 수도 있지만 확인해야 할 것)이 NSDataDetector에 대한 참조를 끌어 BOOL hasLink = textView.hasLink; 또는 BOOL hasLink = textView.text.hasLink; 또는 어쩌면 방법 같은 것을 찾고 있어요

내장 된 방법이 없습니까? 아니면 독립적으로 확인해야합니까?

편집 :

그래서 난 그냥 내이 작업을 수행 할 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; 
} 
+0

이 있다면? –

답변

0

PLZ이 코드이 반환을 사용 예 텍스트 뷰가 URL을 당신이 텍스트 뷰의 contane URL을 확인하거나하지 whant

-(BOOL)checkUrl:(NSString *)strText{ 
    NSString *urlRegEx = 
    @"(http|https)://((\\w)*|([0-9]*)|([-|_])*)+([\\.|/]((\\w)*|([0-9]*)|([-|_])*))+"; 
    NSPredicate *urlTest = [NSPredicate predicateWithFormat:@"SELF MATCHES %@", urlRegEx]; 
    return [urlTest evaluateWithObject:strText]; 
} 
+0

편집 헤더에 게시 한 솔루션이 아마도이 – gadu