'단위포함 라벨 만들기'에 해당되는 글 1건

  1. 2014.12.20 [iOS] 단위를 포함한 라벨(UILabel)을 사용해야 할 때에는..

단위를 포함한 텍스트를 표시할 경우 대게 숫자표시와 단위의 폰트색상이나 크기가 다르게 디자인 되는 경우가 많다.


이제까지는 라벨을 두개로 나누어(숫자, 단위)서 처리했는데 이런방식으로 할때 문제점은 숫자표시에서 자리수가 바뀔경우(동적으로) 단위 레이아웃을 조정해 줘야 하는 귀찮음이 생긴다.


그런데 어트리뷰트스트링을 사용하면 하나의 라벨에서 두가지 디자인을 대응할 수 있기에 편리하다. 예전부터 이 클래스는 알고 있었으나 여기까지 생각이 미치지 못해 응용을 하지 못했다능...



이미 만들어버린 부분은 어쩔수 없어도 다음부터는 이런 스타일을 카테고리화 해서 사용하면 유용할 것 같은 생각이 든다.





NSDictionary *valueAttribute = @{ NSForegroundColorAttributeName:[UIColor blackColor],

                                       NSFontAttributeName:[UIFont systemFontOfSize:16.0f]};


NSAttributedString *valueString = [[NSAttributedString alloc] initWithString:@"1234"

                                                              attributes: valueAttribute];

    


NSDictionary *unitAttribute = @{ NSForegroundColorAttributeName:[UIColor lightGrayColor],

                                                NSFontAttributeName:[UIFont boldSystemFontOfSize:12.0f] };

NSAttributedString *unitString = [[NSAttributedString alloc] initWithString:@"km"

                                                              attributes:unitAttribute];

    

    

NSMutableAttributedString *mutableAttributedString = [[NSMutableAttributedString alloc] init];

[mutableAttributedString appendAttributedString:string1];

[mutableAttributedString appendAttributedString:string2];


//라벨에 텍스트를 설정

_label.attributedText = mutableAttributedString;


Posted by 악당잰 트랙백 0 : 댓글 0

댓글을 달아 주세요