2012-12-15 5 views
0

다음과 같이 점차적으로 UILabel 텍스트의 색상을 변경하는 방법 link? 어떤 사람이 나에게 몇 가지 코드를 제안 할 수 있습니까?UILabel 색상을 애니메이션으로 변경하십시오.

+1

[무엇을 시도해 봤습니까?] (http://mattgemmell.com/2008/12/08/what-have-you-tried/) – Pfitz

+0

나는 이것을 다음과 같이 시도했습니다. http://stackoverflow.com/questions/3315148/how-to-animate-text-of-an-uilabel – Fazil

답변

2

서식있는 텍스트를 사용할 수 있습니다.

NSMutableAttributedString *str = [[NSMutableAttributedString alloc] initWithString:@"Hello World"]; 
[string addAttribute:NSForegroundColorAttributeName value:[UIColor greenColor] range:NSMakeRange(1,5)]; 

아이폰 OS < 6

둘째 당신은의 drawRect 방법 내부 문자열을 UILabel의 하위 클래스를 인쇄해야합니다. 말하기 속도에 따라 색상을 변경하는 루프 유형을 만들어야합니다.

아이폰 OS 6

당신은 attributedTextproperty (서브 클래스 필요)를 사용할 수 있습니다

  • (무효) drawTextInRect : (CGRect) RECT

또는 재사용 코드 :

https://github.com/mattt/TTTAttributedLabel

0

iOS 6.0의 UILabelNSAtributedString을 사용하십시오. u는 1 초 루프

예를 들면 원하는 colored text을 추가하려면 requirementsetting하여 again

UILabel에서 편집에 따라 NSAtributedString

변경 attributed string을 지원하는 아이폰 OS 6.0을 사용 TTTAttributedLabel 아래 낮은 버전의 경우 에서 레이블 : 나는 좋은 소년이다.

레이블의 두 번째 두 번째 레이블 : 좋은 소년입니다.

3 초 동안 레이블 : I am 좋은 소년.

레이블의 4 번째 초 : 저는 입니다. 좋은 소년입니다.

레이블의 5 초째 : 나는 좋다. 소년.

0

여기 내 샘플 코드 중 하나입니다. TTTAttributedLabel 클래스의 블록 메소드를 사용하면 도움이 될 수 있습니다.

 [cell.lblAtt setText:strAtt afterInheritingLabelAttributesAndConfiguringWithBlock:^NSMutableAttributedString *(NSMutableAttributedString *mutableAttributedString) { 

     UIFont *italicSystemFont = [UIFont boldSystemFontOfSize:12]; 
     CTFontRef italicFont = CTFontCreateWithName((__bridge CFStringRef)italicSystemFont.fontName, italicSystemFont.pointSize, NULL); 

     NSUInteger lenght = [[tempObj objectForKey:@"username"] length]; 
     NSUInteger lenght2 = [[NSString stringWithFormat:@"%d",[tempArr count]] length]; 

     [mutableAttributedString addAttribute:(NSString*)kCTForegroundColorAttributeName value:(id)[ThemeColor CGColor] range:NSMakeRange(0,lenght)]; 
     [mutableAttributedString addAttribute:(NSString*)kCTFontAttributeName value:(__bridge UIFont*)italicFont range:NSMakeRange(0,lenght)]; 

     [mutableAttributedString addAttribute:(NSString*)kCTForegroundColorAttributeName value:(id)[ThemeColor CGColor] range:NSMakeRange(lenght+11,lenght2)]; 
     [mutableAttributedString addAttribute:(NSString*)kCTFontAttributeName value:(__bridge UIFont*)italicFont range:NSMakeRange(lenght+11,lenght2)]; 

     return mutableAttributedString; 
    }]; 
+0

여기에 셀이란 무엇입니까? –

+1

중요하지는 않습니다 만, 아마도'UITableViewCell'입니다 ...'lblAtt'는 당신의 라벨입니다. – elp

+0

@prince 셀은 tableview입니다. lblAtt는 해당 레이블입니다. –

0

당신이 cocos2d를 사용하여 [http://www.youtube.com/watch?v=_vOYvaNhSHw, 아마 maded되어 연결된 응용 프로그램.
cocos2d에서 애니메이션으로도 쉽게 텍스트 색상을 변경할 수 있습니다.여기에 예를

: 매우 강력하기 때문에
http://www.cocos2d-iphone.org/forum/topic/5903

여기 cosos2d SDK는, 내가 시도하는 것이 좋습니다 :
http://www.cocos2d-iphone.org/

을 즐길 수 있습니다.

관련 문제