我找了很多次都没找到 当我单击单元格时,我有一些单元格的表格 View ,它正在导航到另一个 View 导航时我需要延迟一些时间,在这段时间内必须加载进度条
-(void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
NSString *str_date=[data objectAtIndex:indexPath.row];
[[NSUserDefaults standardUserDefaults] setObject:str_date forKey:@"str_date"];
NSString *str_time=[time objectAtIndex:indexPath.row];
[[NSUserDefaults standardUserDefaults] setObject:str_time forKey:@"str_time"];
NSString *str_image=[images objectAtIndex:indexPath.row];
[[NSUserDefaults standardUserDefaults] setObject:str_image forKey:@"str_image"];
detailview *dv=[[detailview alloc]init];
[self presentViewController:dv animated:YES completion:nil];
}
最佳答案
我不是 100% 确定你在问什么,但如果你需要在加载时显示进度的东西,或者甚至只是阻止用户与微调器交互,直到加载完成,你应该查看 MBProgressHud:
https://github.com/jdg/MBProgressHUD
使用此库的正确方法(取自 GitHub 页面)是在主线程上初始化它,然后将操作中断到新线程,如下所示:
[MBProgressHUD showHUDAddedTo:self.view animated:YES];
dispatch_async(dispatch_get_global_queue( DISPATCH_QUEUE_PRIORITY_LOW, 0), ^{
// Do something...
dispatch_async(dispatch_get_main_queue(), ^{
[MBProgressHUD hideHUDForView:self.view animated:YES];
});
});
在您的情况下,因为您需要 MBProgressHUD 进行 View 转换,所以您不会希望使用 self.view,因为当新 View 被推到顶部时可能会导致错误。相反,研究全局显示 MBProgressHUD 的方法(跨 View 转换保持不变)。有一个示例说明如何执行此操作 here .
关于ios - 从一个 View 导航到另一个 View 时如何放置进度条,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20089388/