2013-07-25 1 views
1

Я пытаюсь создать символ по полукоксу анимации в UILabel с приписываемым текстомАнимация w 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]; 
    }); 

Я надеялся, что последнее сообщение будет установить текст с атрибутом, так и не смог найти решение. Здесь я пытаюсь анимировать строковый регулярный стиль, и на этикетке отображается атрибутная строка, и это не сработало. Как сохранить атрибут и оживить текст?

ответ

2

Вы должны обновлять виды только по основной теме. Используйте performSelectorOnMainThread:withObject: сделать это внутри блока:

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

Если одушевленные показать текст вызывает метод, обновлять представления, которые должны делать то же самое, или альтернативой является использование dispatch_sync (на данный момент я бы сказал, даже не использовать НОД).