2012-12-20 3 views
0

동적 텍스트가 서식하려는 다중 줄 UILabel이 있습니다. 필자가해야 할 유일한 형식은 한 레이블의 두 줄의 높이 차이가 더 커지도록 줄 높이를 높이는 것입니다.NSAttributedString with UILabel (ios 6) : IB에서 줄 높이 특성 및 특성 사용

질문 1 NSAttributedString을 통해 어떻게해야합니까? 나는 그것에 손을 썼다. 그러나 포맷은 매우 "non-UIKit"이므로 혼란스럽고 문서가 매우 제한적이다.

질문 2 : 기여한 텍스트는 인터페이스 작성기를 통해 추가 할 수 있지만 물론 정적 텍스트 용입니다. IB에서 속성을 설정 한 다음 코드를 통해 텍스트를 제공 할 수있는 방법이 있습니까? 서식을 텍스트가 아닌 텍스트 전체에 적용하고 싶습니다.

답변

0

인터페이스 빌더에서 사용자 정의 속성/특성을 설정할 수 있습니다. CSSStyle 속성을 추가하는 UILabel에 카테고리를 추가 할 수 있습니다. 그런 다음 setCSSStyle에서 현재 텍스트에있는 NSString을 가져 와서 NSAttributedString으로 변경하고 setAttributedText를 통해이를 설정합니다.

CSS 스타일을이 속성에 변환하려면 내 DTCoreText와 같은 프레임 워크를 사용하거나 큰 경우 간단하게 & 더티 CSS 파서를 사용하면됩니다 (DTCoreText에 NSScanner를 기반으로 작성한 CSS 파서가 있습니다.)) 그리고 필요한 속성을 NSAttributedString 속성으로 변환하십시오.

생각 해보니 다른 단어의 형식을 다르게 지정할 수 있으므로 이러한 속성에 HTML 문자열을 설정하는 것이 좋습니다. DTCoreText에는 HTML을 NSAttributedString으로 변환하는 방법이 있습니다. 그러면 표준 설정 도구를 통해 다시 설정합니다.