我是iOS编程的初学者。我正在创建一个tableview,在单击每个单元格时,将解析不同的xml。我希望在xml解析时显示活动指示符,并在解析完成时停止该指示符。我的代码是,
//活动指标 //在viewDidLoad中,
activityIndicator = [[UIActivityIndicatorView alloc] initWithActivityIndicatorStyle:UIActivityIndicatorViewStyleWhite];
activityIndicator.frame = CGRectMake(0.0, 0.0, 20.0, 20.0);
activityIndicator.backgroundColor=[UIColor colorWithRed:0/255.0f green:0/255.0f blue:0/255.0f alpha:0.5];
activityIndicator.center=self.view.center;
[activityIndicator startAnimating];
[self.view addSubview:activityIndicator];
-(void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
cell = [tableView cellForRowAtIndexPath:indexPath];
if(cell.accessoryView==nil)
{
NSLog(@"index path is %i",indexPath.row+1);
cell.accessoryView = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"cell_selected.png"]];
[myObj1 changecheckedvalue:1 forindex:[[tempArr objectAtIndex:indexPath.row]mainID]];
if (indexPath.row==0)
{
flagToCheck=1;
xmlName=@"Pournima";
[parseArray removeAllObjects];
[self xmlParsing];
}
}
}
如何实现?请帮忙。
答案 0 :(得分:2)
您可以使用MBProgressHUD显示位于当前视图顶部的活动视图。该库非常易于使用和实现。您只需导入MBProgressHUD.h,然后调用此方法:
[MBProgressHUD showHUDAddedTo:self.view animated:YES];
或者如果你想在单元格内显示活动视图,也许在标题旁边,你可以使用类似的东西,
UIActivityIndicatorView *activityView = [[UIActivityIndicatorView alloc] initWithActivityIndicatorStyle:UIActivityIndicatorViewStyleWhite];
[cell.imageView addSubview:activityView];
[activityView startAnimating];
完成后,您将从超级视图中删除activityView。
答案 1 :(得分:1)
尝试使用这个:https://github.com/jdg/MBProgressHUD 它具有更好的外观和感觉。
在调用“didSelectRowAtIndexPath”中的解析方法之前启动活动指示符,并在方法结束时将其停止进行解析。