UIActivityIndi​​cator从视图中消失当应用程序转到后台并切换标签时

时间:2015-07-18 18:49:17

标签: ios uitableview

我有一个问题,这不是什么大问题,但让我发疯。 我有一个子类UITableView的视图。

按下其中一个单元格前导到一个冗长的HTTP请求,我在另一个线程上使用didSelectRowAtIndexPath中的代码运行:

        case SECTION_SEND:
            [self addActivityIndicatorToView];
            [self performSelectorInBackground:@selector(sendEmail) withObject:nil];
        break;

activityIndi​​cator表现正常。在操作结束时在屏幕上显示然后自行移除。但是,如果应用程序转到后台或其他选项卡,则活动指示符将消失,即使任务未完成。

以下是我使用的方法:

然后:

-(UIActivityIndicatorView*)createActivityIndicator {
        //Setting up activity indicator
        UIActivityIndicatorView *spinner = [[UIActivityIndicatorView alloc] initWithActivityIndicatorStyle:UIActivityIndicatorViewStyleWhiteLarge];
        spinner.color = [UIColor whiteColor];
        spinner.backgroundColor =  [UIColor blackColor];
        spinner.alpha = 0.8;
        CGFloat width = 120;
        spinner.frame = CGRectMake(self.tableView.bounds.size.width/2-width/2, self.tableView.bounds.size.height/2-width/2, width, width);
        //spinner.center = CGPointMake( [UIScreen mainScreen].bounds.size.width/2,[UIScreen mainScreen].bounds.size.height/2);
        spinner.layer.cornerRadius = 20;
        spinner.layer.masksToBounds = YES;
        return spinner;
 }



-(void)addActivityIndicatorToView {
    //[[[[UIApplication sharedApplication] delegate] window] addSubview:ai];
    _ai = [self createActivityIndicator];
    [self.tableView.superview addSubview:_ai];
    [_ai startAnimating];
}

-(void) removeActivityIndicatorFromView {
    [_ai stopAnimating];
    [_ai removeFromSuperview];
}

当操作结束时,我正在调用[self removeActivityIndi​​catorFromView]。 正如我所说,除非我离开屏幕,否则它的行为正常。我检查了我的viewdidload和viewwilldisappear viewwillappear和init方法,我没有覆盖_ai。

有什么想法吗?

0 个答案:

没有答案