我希望能够使用我的 ipad 应用程序执行以下操作:
1 - 按下 UiButton
2 - 显示“正在加载”动画 gif
3 - 显示 gif 后,使用 presentViewController 方法打开目标页面
4 - 目标页面的 ViewDidLoad 用于访问 SQL 数据库中的数据(用于填充该页面上的表。)
这是因为数据需要时间来加载,我希望显示动画 gif,并且我有以下代码来执行此操作,但是它不起作用。该按钮在按下时变为蓝色,然后在页面更改之前加载 gif 仅显示非常短暂的延迟。在显示加载 gif 之前,似乎正在运行上面的第 4 步。谁能解释我做错了什么或如何解决这个问题?
- (IBAction)webObservations:(id)sender {
[loadingGif setAlpha: 1];
NSArray *imageArray = [[NSArray alloc] initWithObjects:[UIImage imageNamed:@"g0.png"], [UIImage imageNamed:@"g1.png"], [UIImage imageNamed:@"g2.png"], [UIImage imageNamed:@"g3.png"], [UIImage imageNamed:@"g4.png"], [UIImage imageNamed:@"g5.png"], [UIImage imageNamed:@"g6.png"], [UIImage imageNamed:@"g7.png"], [UIImage imageNamed:@"g8.png"], [UIImage imageNamed:@"g9.png"], nil];
loadingGif = [[UIImageView alloc] initWithFrame:CGRectMake(305, 402, 152, 14)];
[self.view addSubview:loadingGif];
loadingGif.animationImages = imageArray;
loadingGif.animationDuration = 1.5;
[loadingGif startAnimating];
ObViewControllerAdminMenu *monitorMenuViewController = [self.storyboard instantiateViewControllerWithIdentifier:@"webObservations"];
monitorMenuViewController.modalTransitionStyle = UIModalTransitionStyleCrossDissolve;
[self presentViewController:monitorMenuViewController animated:YES completion:nil];
}