Я думаю, что не могу объяснить это хорошо. Хорошо, давайте попробуем еще раз. это приложение на основе навигации. у меня есть таблицавиев. каждая ячейка создает DetailView. в RootView, который представляет собой табличное представление, есть кнопка обновления. когда я нажимаю эту кнопку, он снова анализирует канал. и это занимает некоторое время. за это время программа не отвечает. и синтаксический анализ завершен, он снова работает. теперь мне нужен индикатор активности за это время. я не знаю, как добавить в xib. bcz, когда я открываю main.xib и помещаю индикатор активности в RootViewController. он появляется перед всей таблицей. теперь может быть я объяснил хорошо. если нет, дайте мне знать, я попробую еще раз.
из того, что вы говорите выше, программа не отвечает во время синтаксического анализа, что является проблемой. Если графический интерфейс зависает во время анализа данных, вы должны перенести эту операцию во вторичный поток. Таким образом, ваш графический интерфейс остается отзывчивым, и вы сможете увидеть индикатор активности.
в основном потоке у вас должно быть что-то похожее на это, чтобы показать индикатор активности:
UIActivityIndicatorView *av = [[[UIActivityIndicatorView alloc]initWithActivityIndicatorStyle:UIActivityIndicatorViewStyleGray] autorelease];
av.frame = CGRectMake(round((yourView.frame.size.width - 25) / 2), round((yourView.frame.size.height - 25) / 2), 25, 25);
av.tag = 1;
[yourView addSubview:av];
[av startAnimating];
после того, как вторичный поток завершен, это поток, в котором вы анализируете данные, вы должны вызвать в основном потоке что-то вроде этого, чтобы удалить индикатор активности:
UIActivityIndicatorView *tmpimg = (UIActivityIndicatorView *)[yourView viewWithTag:1];
[tmpimg removeFromSuperview];
person
Sorin Antohi
schedule
24.02.2011