your programing

두 개의 다른 글꼴 크기를 가진 NSAttributedString의 예?

lovepro 2020. 10. 11. 11:08
반응형

두 개의 다른 글꼴 크기를 가진 NSAttributedString의 예?


NSAttributedString 나에게는 정말 뚫을 수 없습니다.

UILabel다른 크기의 텍스트를 가지도록 a를 설정하고 싶습니다. 내가 모으는 NSAttributedString것이 갈 길이지만 이것에 대한 문서로는 아무데도 얻을 수 없습니다.

누군가가 구체적인 예를 들어 나를 도울 수 있다면 그것을 좋아할 것입니다.

예를 들어 내가 원하는 텍스트가 다음과 같다고 가정 해 보겠습니다.

(in small letters:) "Presenting The Great..."
(in huge letters:) "HULK HOGAN!"

누군가 그 방법을 보여줄 수 있습니까? 아니면 내가 스스로 배울 수있는 평범하고 단순한 참고 문헌? 나는 문서와 Stack Overflow의 다른 예제를 통해 이것을 이해하려고 노력했지만 이해하지 못했습니다.


당신은 이렇게 할 것입니다 ...

NSMutableAttributedString *hogan = [[NSMutableAttributedString alloc] initWithString:@"Presenting the great... Hulk Hogan!"];
[hogan addAttribute:NSFontAttributeName
              value:[UIFont systemFontOfSize:20.0]
              range:NSMakeRange(24, 11)];

20 포인트 텍스트에서 마지막 두 단어를 설정합니다. 나머지 문자열은 기본값 (내가 생각하는 12 포인트)을 사용합니다. 텍스트 크기 설정에 대해 혼란 스러울 수있는 점은 서체 크기를 동시에 설정해야한다는 것 UIFont입니다. 객체는 두 속성을 모두 캡슐화합니다.


Swift 3 솔루션

또한 appendObjC 또는 Swift에서 인덱스를 지정하는 대신 함수를 사용할 수 있습니다 .

let attrString = NSMutableAttributedString(string: "Presenting The Great...",
                                           attributes: [ NSFontAttributeName: UIFont.systemFont(ofSize: 20) ])

attrString.append(NSMutableAttributedString(string: "HULK HOGAN!",
                                            attributes: [NSFontAttributeName: UIFont.systemFont(ofSize: 40) ]))

Swift 4 솔루션 :

let attrString = NSMutableAttributedString(string: "Presenting The Great...",
                                       attributes: [NSAttributedStringKey.font: UIFont.systemFont(ofSize: 18)]);

attrString.append(NSMutableAttributedString(string: "HULK HOGAN!",
                                        attributes: [NSAttributedStringKey.font: UIFont.systemFont(ofSize: 36)]));

쉬운 방법으로하고 싶다면 NSAttributedString에 카테고리를 제공하는 OHAttributedLabel 이라는 git repo가 있습니다. 다음과 같은 작업을 수행 할 수 있습니다.

NSMutableAttributedString *mystring = [[NSMutableAttributedString alloc] initWithString:@"My String"];
[mystring setTextColor:[UIColor colorWithRGB:78 green:111 blue:32 alpha:1]];
mystring.font = [UIFont systemFontOfSize:14];

타사 라이브러리를 사용하지 않으려면 이 링크 에서 속성 문자열을 시작하는 방법에 대한 적절한 자습서를 확인하십시오 .

참고 URL : https://stackoverflow.com/questions/18365631/example-of-nsattributedstring-with-two-different-font-sizes

반응형