2013-07-25 2 views
1

는 내가 마지막 메시지가 속성으로 텍스트를 설정 것이라고 기대했다애니메이션 NSAttributedString?

//set attributed string 
NSMutableAttributedString *attributedString = [[NSMutableAttributedString alloc] initWithString:@"Yaba daba doo"]; 
[attributedString addAttribute:NSKernAttributeName value:@1 range:NSMakeRange(0, [attributedString length])]; 

//set animation 
dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_LOW, 0), 
    ^{ 
     [self animateShowText:[attributedString string] characterDelay:0.1 withCurrentLabel:self.myLabel]; 
     [self.myLabel setAttributedText:attributedString]; 
    }); 

때문 텍스트와 UILabel의에서 문자 애니메이션하여 문자를 만들려고 해요, 그리고 해결책을 찾을 수 없습니다. 여기서는 문자열 정규 스타일을 애니메이션으로 만들려고했는데 라벨에 속성이 지정된 문자열이 표시되어 작동하지 않았습니다. 속성을 유지하고 텍스트를 애니메이션화하려면 어떻게합니까?

답변

2

메인 스레드에서보기 만 업데이트해야합니다. 애니메이션 쇼 텍스트 뷰를 업데이트 메소드를 호출

[self.myLabel performSelector: @selector(setAttributedText:) withObject: attributedString]; 

경우 동일한 작업을 수행해야하거나 다른 내가조차 사용하지 않는 말을이 시점에서 (dispatch_sync를 사용하는 것입니다 : 블록 내에서 그렇게 할 performSelectorOnMainThread:withObject:를 사용하여 GCD).

관련 문제