я в настоящее время загрузки нового представления динамически путем оценки segue.identifier
в prepareForSegue
:Прогресс HUD показывая слишком поздно
- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender
{
if([segue.identifier isEqualToString: @"DetailViewSegue"]) {
DetailViewController *detailController = segue.destinationViewController;
// ... do something with the controller
}
}
Некоторые из этих взглядов нужно немного времени, потому что сбор данных из Интернета и отображения, что в схеме таблицы требуется довольно долгое время. Поэтому я хочу отобразить Progress HUD как KVNProgress
, однако главная проблема в том, что индикатор Progress появляется слишком поздно, прямо перед тем, как новый вид будет готов. Насколько я понял, основная проблема заключается в том, что метод prepareForSegue
и, следовательно, KVNProgress
был вызван непосредственно перед загрузкой всех данных, но загрузка нового представления кажется предпочтительной.
Другая вещь, которую я попытался было назвать KVNProgress
в пределах IBAction
или didSelectRowAtIndexPath
и позвонить в performSegueWithIdentifier
в его собственном потоке. Однако это (как подсказывает консольный вывод) отчаивается и на самом деле не работает.
Спасибо!
EDIT: Были многочисленные попытки достижения этой цели, в настоящее время я пытаюсь сделать это таким образом:
(IBAction)buttonPushed:(id)sender {
[KVNProgress showWithStatus:@"Loading"];
[self performSegueWithIdentifier:@"DetailViewSegue" sender:sender];
}
Как я описал, я думаю, что это самое раннее я могу отобразить ProgressHUD перед загружается новое действие. Однако кажется, что текущее представление заблокировано, пока новый загружен, и поэтому хад не отображается.
Где код для отображения прогресса HUD? – rmaddy
Где вы показываете HUD? – iphonic
Вы пытаетесь показать прогресс и собирать данные, прежде чем показывать новое представление? Если это так, вы должны сделать это в ответ на какое-то другое событие (например, пользовательское нажатие?) И выполнить сеанс, как только вы закончите сбор данных. В противном случае отобразите hud и соберите данные в контроллере целевого представления после segue. –