2009-09-17 9 views
5

UITextView가 서식있는 텍스트를 표시 할 수 있는지 궁금합니다. 나는 읽기 전용 텍스트 (텍스트의 다른 부분에 대한 다른 정렬과 같은)에 간단한 서식을 지정하고자합니다. 그렇지 않다면 어떤 뷰를 사용해야합니까?UITextView 서식있는 텍스트?

답변

2

일반적으로 이렇게하는 가장 좋은 방법은 UIWebView를 사용하여 태그를 삽입 할 수있는 곳에 로컬 콘텐츠를로드하는 것입니다. 로컬로드는 빠르며 uitextview처럼 보이도록 양식을 지정할 수 있습니다.

또 다른 옵션은 UILabel 서브 클래스를 사용하고 Three20 오픈 소스 코드를 얻는 것입니다. TTStyledTextLabel을 원합니다.

+0

즉석에서 HTML을 생성하고 뷰에로드 할 수 있습니까? –

+0

네, 원할 때마다 생성하고로드 할 수 있습니다. html 문자열을 생성하는 코드를 작성해야합니다. – coneybeare

2

다음은이 작업을 시도하는 사람을위한 코드 단편입니다. uiwebview를 사용하여 스타일있는 텍스트를 처리하십시오. 로컬 js 파일을 작동 시키면 트릭을 만들 수 있습니다. 빌드 단계 -> 소스 컴파일 -> HTML 컨텐트에 로컬로 액세스하려는 js 파일을 추가하십시오. 웹 브라우저에서 객관적인 C에서 문자열을 자바 스크립트로 평가할 수도 있습니다.

NSString *someHtmlContent = [NSString stringWithFormat:@"<html><head><style type=\"text/css\">body {padding: 0px; margin: 0px; }</style><script src=\"yourLocalJsFile.js\"></script></head><body></body></html>", dynamicText]; 

NSLog(@"HTML with code: \n%@", someHtmlContent); 

NSString *resourcePath = [[[[NSBundle mainBundle] resourcePath] 
           stringByReplacingOccurrencesOfString:@"/" withString:@"//"] 
           stringByReplacingOccurrencesOfString:@" " withString:@"%20"]; 

[MyWebView loadHTMLString:someHtmlContent baseURL:[NSURL URLWithString: 
              [NSString stringWithFormat:@"file:/%@//", resourcePath]]]; 

[self.MyWebView setDelegate:self]; 

설정 위임하자 당신이 링크를 처리하는 방법을 결정 - 당신이 그들을 모바일 사파리에서 또는 웹보기

1

당신은 GitHub의에 EGOTextView 프로젝트에 모습을 가질 수에서 열려 않습니다. 그것은 " 리치 텍스트 편집에 대한 지원을 추가, UITextView 교체에 완벽한 드롭."는

로 자신을 discribes

+0

링크는 https://github.com/enormego/EGOTextView입니다. – Andy