수색…


커스텀 커닝 (문자 간격)이있는 문자열 만들기 editshare

NSAttributedString (및 해당 mutable 형제 NSMutableAttributedString )을 사용하면 복잡한 모양의 문자열을 사용자에게 만들 수 있습니다.

일반적인 응용 프로그램은 문자열을 표시하고 사용자 정의 커닝 / 문자 간격을 추가하는 데이 코드를 사용하는 것입니다.

이것은 다음과 같이 달성 될 것입니다 (label은 UILabel 임). "kerning"이라는 단어에 다른 커닝을 사용합니다.

NSMutableAttributedString *attributedString;
attributedString = [[NSMutableAttributedString alloc] initWithString:@"Apply kerning"];
[attributedString addAttribute:NSKernAttributeName value:@5 range:NSMakeRange(6, 7)];
[label setAttributedText:attributedString];

텍스트가 쳐진 문자열 만들기

NSMutableAttributedString *attributeString = [[NSMutableAttributedString alloc] initWithString:@"Your String here"];
[attributeString addAttribute:NSStrikethroughStyleAttributeName
                    value:@2
                    range:NSMakeRange(0, [attributeString length])];

문자열에서 속성을 열거하고 문자열의 일부에 밑줄을 사용하는 방법

 NSMutableDictionary *attributesDictionary = [NSMutableDictionary dictionary];
 [attributesDictionary setObject:[UIFont systemFontOfSize:14] forKey:NSFontAttributeName];
 //[attributesDictionary setObject:[UIColor redColor] forKey:NSForegroundColorAttributeName];
 NSMutableAttributedString *attributedString = [[NSMutableAttributedString alloc]initWithString:@"Google www.google.com link" attributes:attributesDictionary];

 [attributedString enumerateAttribute:(NSString *) NSFontAttributeName
                             inRange:NSMakeRange(0, [attributedString length])
                             options:NSAttributedStringEnumerationLongestEffectiveRangeNotRequired
                          usingBlock:^(id value, NSRange range, BOOL *stop) {
                              NSLog(@"Attribute: %@, %@", value, NSStringFromRange(range));
                             }];

  NSMutableAttributedString *attributedStr = [[NSMutableAttributedString alloc] initWithString:@"www.google.com "];

  [attributedString addAttribute:NSUnderlineStyleAttributeName
                         value:[NSNumber numberWithInt:NSUnderlineStyleDouble]
                         range:NSMakeRange(7, attributedStr.length)];

  [attributedString addAttribute:NSForegroundColorAttributeName
                         value:[UIColor blueColor]
                         range:NSMakeRange(6,attributedStr.length)];

  _attriLbl.attributedText = attributedString;//_attriLbl (of type UILabel) added in storyboard

산출:

여기에 이미지 설명을 입력하십시오.

트라이 컬러 속성 문자열 작성 방법.

 NSMutableAttributedString * string = [[NSMutableAttributedString alloc] initWithString:@"firstsecondthird"];
[string addAttribute:NSForegroundColorAttributeName value:[UIColor redColor] range:NSMakeRange(0,5)];
[string addAttribute:NSForegroundColorAttributeName value:[UIColor greenColor] range:NSMakeRange(5,6)];
[string addAttribute:NSForegroundColorAttributeName value:[UIColor blueColor] range:NSMakeRange(11,5)];

범위 : 문자열 시작부터 끝까지

여기서 우리는 firstsecondthird 문자열을 가지므로 첫 번째 문자부터 시작하여 다섯 번째 문자까지 범위 (0,5)를 설정하여 녹색 텍스트 색상으로 표시합니다.



Modified text is an extract of the original Stack Overflow Documentation
아래 라이선스 CC BY-SA 3.0
와 제휴하지 않음 Stack Overflow