* 문제

html 태그가 포함된 문자열을 UIWebview 가 아닌

UITextview에 보여지도록 하였다.

00-0000-0000 이런형식의 전화번호는 자동으로 링크가 잘 걸리는데

8자리 전화번호 (0000-0000) 이런형식에는 링크가 안 걸리더라.

그래서 강제로 링크를 넣었음.


* 코드

NSMutableAttributedString* aString = [[NSMutableAttributedString alloc] initWithData:[s dataUsingEncoding:NSUnicodeStringEncoding]

                                                                             options:@{ NSDocumentTypeDocumentAttribute: NSHTMLTextDocumentType }

                                                                  documentAttributes:nil

                                                                               error:nil];


NSString* sPattern = @"(\\d{2,3}-)?\\d{3,4}-\\d{4}";

NSRegularExpression *regex = [NSRegularExpression regularExpressionWithPattern:sPattern options:kNilOptions error:nil];

[regex enumerateMatchesInString:aString.string

                        options:kNilOptions

                          range:NSMakeRange(0, aString.string.length)

                     usingBlock:^(NSTextCheckingResult *result, NSMatchingFlags flags, BOOL *stop)

{

  [aString addAttribute:NSLinkAttributeName value:[NSString stringWithFormat:@"tel://%@", [aString attributedSubstringFromRange:result.range].string] range:result.range];

}];


반응형

'iOS 초보' 카테고리의 다른 글

[swift5.1번역] 2.Basic Operators  (0) 2019.06.21
[swift5.1번역] 1.The Basics  (0) 2019.06.19
UITextView 에 html 내용 보여주기  (0) 2018.11.28
UIView deep copy  (0) 2018.11.14
이미지에 텍스트 추가하기.  (0) 2017.01.19
Posted by 돌비
,