2009-03-23 2 views
3

나는 시스템 글꼴을 사용하고 싶지만 사용자 지정 선도자를 사용하고 싶지만 UIFont의 주요 속성은 읽기 전용입니다. 사용자 정의 선행 값을 사용하여 시스템 글꼴을 만드는 방법이 있습니까?커스텀 리드가있는 UIFont?

UILabel을 사용하여 여러 줄을 표시하려고하는데 기본 줄이 너무 좁습니다. (\ n \ n이 너무 넓음)

아무런 방법이 없다면 여러 개의 UILabels를 만들어야하지만 과장된 것 같습니다.

+0

UILabel은 원하는 것이 아닙니다. UILabel은 심지어 UIFont의 지도력에 순종하지 않습니다. – jamie

답변

2

나는 그렇게 할 수 없다고 생각합니다. UIFont는 꽤 엄격하게 제한됩니다.

직접 줄 바꿈이있는 경우 여러 UILabels를 만드는 대신 문자열을 직접 그려 보는 것이 쉽지 않습니다. – componentsSeparatedByString:을 사용하여 하위 문자열을 생성하고 UIKit NSString 추가 : – drawAtPoint:withFont:을 사용하여 각각을 지정된 앞선 증가분으로 렌더링 할 수 있습니다.

포장을 직접 만들어야하는 경우에는 어렵습니다. this related question을 참조하십시오.

-2

사용자 정의 카테고리를 UIFont에 크레이팅하고 선적을 사용자 정의 설정자로 바꾸면됩니다. 나는 아직도 이것을하려고 노력하고있다.

+0

그럴 수 없습니다. 선도 외에 OS4에서 사용되지 않음 –

1

멀티 라인의 줄 간격을 사용자 정의하는 방법이 있습니다. UILabel. 레이블의 text 특성을 사용하는 대신 attributedText 속성을 사용하십시오. 특성이 지정된 텍스트의 경우 음수가 lineSpacing 인 단락 스타일을 사용하여 선을보다 가깝게 만들 수 있습니다. 다음은 예입니다.

NSMutableParagraphStyle *paragraphStyle = [[NSMutableParagraphStyle alloc] init]; 
paragraphStyle.lineSpacing = -4; 

NSMutableAttributedString *attributedString = [[NSMutableAttributedString alloc] initWithString:yourStringHere]; 
[attributedString addAttribute:NSParagraphStyleAttributeName value:paragraphStyle range:NSMakeRange(0, titleText.length)]; 
yourUILabel.attributedText = attributedString; 
관련 문제