我搜索了很多次,但我找不到 当我点击它导航到另一个视图的单元格时,我有一些单元格的表视图 导航时我需要延迟一段时间,并且在这段时间内需要加载进度条
-(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];
}
答案 0 :(得分:1)
我不是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进行视图转换,所以您不希望使用self.view,因为当新视图被推到顶部时会导致错误。而是研究全局显示MBProgressHUD的方法(跨视图转换持久)。有一个如何执行此操作的示例here。
答案 1 :(得分:0)
将以下文件添加到项目中。
并使用以下行加载进度条
[HUD showUIBlockingIndicatorWithText:@"Loading"];
并使用以下行隐藏进度条,
[HUD hideUIBlockingIndicator];
从这里获取HUD文件,
http://www.megafileupload.com/en/file/470802/MBProgressHUD-h.html
http://www.megafileupload.com/en/file/470804/MBProgressHUD-m.html
http://www.megafileupload.com/en/file/470800/HUD-h.html
http://www.megafileupload.com/en/file/470801/HUD-m.html
希望,它会帮助你。