У меня есть UITableView с контроллером навигации . Табличное представление состоит из пользовательских ячеек, каждая из которых содержит данные, которые загружаются с сервера, очевидно, что эта загрузка занимает много времени, и поэтому я хотел бы показать HUD своего рода, пока это происходит.
Моя проблема в том, что, когда я нажимаю кнопку для перехода к представлению таблицы, нажимаемая кнопка застревает в «подсвеченном» состоянии до тех пор, пока все данные не будут загружены, а затем представление переходит от предыдущего к отображаемому. вид таблицы во всей красе. Тем не менее, я бы предпочел перейти к пустому представлению таблицы, а затем показать загрузочный HUD, пока таблица заполнена. (Или что-то подобное, что-либо, показывающее пользователю, что программа на самом деле что-то делает и не дает сбоя ..)
Вот мой код:
- (void) displayView:(int)intNewView{
NSLog(@"%i", intNewView);
[currentView.view removeFromSuperview];
[currentView release];
switch (intNewView) {
case 1:
currentView = [[View1 alloc] init];
break;
case 2:
currentView = [[View2 alloc] init];
break;
case 3:
currentView = [[View3 alloc] init];
break;
case 4:
currentView = [[View4 alloc] init];
break;
case 5:
vc = [[TableViewController alloc] init];
currentView = [[UINavigationController alloc] initWithRootViewController:vc];
[currentView setTitle:@"Events"];
break;
}
[UIView beginAnimations:nil context:nil];
[UIView setAnimationDuration:0.5];
[UIView setAnimationTransition:UIViewAnimationTransitionFlipFromLeft forView:self.view cache:YES];
[self.view addSubview:currentView.view];
[UIView commitAnimations];
}
- (void)viewDidLoad {
[super viewDidLoad];
//Initialisation code..
[SVProgressHUD showInView:self.view status:@"Doing Stuff"];
[self viewDidAppear:YES];
}
- (void)viewDidAppear:(BOOL)animated {
[super viewDidAppear:animated];
NSLog(@"ViewDidAppear");
if ([stories count] == 0) {
NSString * path = @"http://myURL.com";
[self parseXMLFileAtURL:path];
}
}
Я понимаю, почему представление не переходит и показывает HUD до вызова viewDidAppear , только не как обойти это? Большая часть работы начинается с viewDidAppear .
Любая помощь будет принята с благодарностью,
Jack