Я не могу изменить текст UILabel. Код на UILabel внутри viewDidLoad является:UILabel текст не обновляется
startLabel=[[UILabel alloc] initWithFrame:CGRectMake(75, 395, 200, 30)];
[email protected]"Recording Sound ...";
startLabel.backgroundColor=[UIColor clearColor];
startLabel.textColor=[UIColor whiteColor];
startLabel.font=[UIFont boldSystemFontOfSize:17];
[self.view addSubview:startLabel];
Позже, если я хочу изменить метку текста с помощью следующего кода, его не меняющегося на приложение:
[email protected]"Searching Database ...";
или
[startLabel setText:@"Searching Database ..."];
UILabel не пусто, я напечатал его во время отладки и показывает:
(gdb) po startLabel
<UILabel: 0x2c1a30; frame = (75 395; 200 30); text = 'Searching Database ...';
clipsToBounds = YES; userInteractionEnabled = NO; layer = <CALayer: 0x2ae8f0>>
Итак, текст метки изменяется внутри UILabel, но не обновляется на экране.
Может ли кто-нибудь любезно сообщить мне, что Мне здесь не хватает? Благодарю.
Редактировать 1: Я пробовал performSelectorOnMainThread:
- не работал для меня. Редактировать 2: Я использую классы AVFoundation
и ASIHTTP
для записи звука и загрузки записанного файла здесь. Ничего больше. Не использовал нить.
Где вы обновляете текст (какой метод)? Он должен находиться в одном потоке (см. Http://stackoverflow.com/questions/6000741/cant-redraw-uilabel-after-updating-text). –
@Ben: aint, что для monotouch? Кроме того, я внутри одной и той же темы, просто еще одна функция! – Ahsan
Я полностью пропустил это вопрос MonoTouch, но я нашел аналогичную проблему о том, что вам нужно быть в одном потоке на форуме Mac, который использовал performSelectorOnMainThread (http://forums.macrumors.com/showthread.php?t=463200) , поэтому я просто задавался вопросом, откуда вы его звонили. –