Приближаясь к метке по таймеру, он может обновить строку метки - PullRequest
0 голосов
/ 25 февраля 2011

Я делаю приложение Voca.После воспроизведения голосового файла и отображения текста на английском языке, он показывает значение метки.Итак, я хочу скрыть текст метки перед воспроизведением следующего голосового файла.

У меня проблема.df Эти метки не скрыты.

При приближении к метке по таймеру она может обновить строку метки.

В чем проблема?Помогите мне, пожалуйста!


- (void)showLabel{

    Word *word = [wordArray objectAtIndex:selectedIndex];
    [simpleMeaning setText:word.mean];

    NSTimer *timer2 = [[NSTimer scheduledTimerWithTimeInterval:2 target:self selector:@selector(hideLabel) userInfo:nil repeats:NO] retain];
    [timerArray addObject:timer2];
    [timer2 release];
    timer2 = nil;


}

- (void)hideLabel{

    [simpleMeanig setText:@" "];
    ++selectedIndex;
    [self filePlay];

}

1 Ответ

0 голосов
/ 25 февраля 2011

Мне интересно, блокирует ли вызов filePlay обновление пользовательского интерфейса (трудно понять, не видя внутренностей filePlay).

Это только предположение, но вместо:

[self filePlay];

try:

[self performSelectorOnMainThread:(@selector(filePlay) withObject:nil waitUntilDone:NO];

Это будет откладывать вызов filePlay до тех пор, пока не будет обработано текущее событие (в результате срабатывания таймера) (что, в свою очередь, должно позволить обновлению интерфейса пользователя).сам).

...