ios - 从一个 View 导航到另一个 View 时如何放置进度条

标签 ios progress-bar

我找了很多次都没找到 当我单击单元格时,我有一些单元格的表格 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/

相关文章:

ios - 将 sqlite 数据库共享到 iPhone 应用程序的共享扩展中

使用闭包回调的ios内存泄漏

ios - '子字符串(来自 : )' is deprecated: Please use String slicing subscript with a ' partial range from' operator. Swift 4 错误

ios - ScrollView 中基于平移手势的移动 View Controller

ios - fatal error : Array index out of range in swift 2

c# - ProgressBar 作为 DataGridView 行的背景

java - 进度条在图像出现之前消失

ios - swift 3 : How to animate a view background color similar to a progress bar

ios - 如何获得Semi Circle进度栏?

html - Bootstrap 3 中的分段进度条