0

我想添加活動指標或MBProgressHUD,當我點擊表格視圖的行並且在下一個視圖的表格放置時消失。如何通過解析添加活動指標?

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath { 
if (indexPath.section == 1 && indexPath.row == 0) { 
    /*here add activity indiavtor*/ 

    iMapViewAppDelegate *appDelegate = (iMapViewAppDelegate *)[[UIApplication sharedApplication] delegate]; 
    NSString *requestString = [NSString stringWithFormat:@"http://maps.googleapis.com/maps/api/directions/xml?origin=%@&destination=%@,OK&sensor=false",startField.text,endField.text]; 
    NSURL *url = [[NSURL alloc] initWithString:requestString]; 
    NSXMLParser *xmlParser = [[NSXMLParser alloc] initWithContentsOfURL:url]; 

    //Initialize the delegate. 
    xml1 *parser = [[xml1 alloc] init]; 

    //Set delegate 
    [xmlParser setDelegate:parser]; 


    //Start parsing the XML file. 
    BOOL success = [xmlParser parse]; 


    if(success){ 
     NSLog(@"No Errors"); 
     appDelegate.legAray=[parser.listofPoint copy]; 
     appDelegate.sAray=[parser.ListofSteps1 copy]; 
     arySteps=[[NSArray alloc]init]; 
     arySteps = [parser.ListofSteps1 arrayByAddingObjectsFromArray:parser.listofPoint]; 
     appDelegate.NoofRow=0; 
     appDelegate.NoofRow=[arySteps count]; 
     NSLog(@"%d",appDelegate.NoofRow); 
     NSLog(@"%@",arySteps); 
     sObject=[[Sleg alloc]init]; 
     sObject=[appDelegate.legAray objectAtIndex:0]; 

    } 
    else 
     NSLog(@"Error Error Error!!!"); 


     controller= [TableView alloc]; 
     controller.arayStep=[arySteps copy]; 
     [controller initWithNibName:@"TableView" bundle:nil]; 
     [self.navigationController pushViewController:controller animated:YES]; 
     [controller release]; 
    [tableView deselectRowAtIndexPath:indexPath animated:YES]; 
} 

} 上面的代碼是用於選擇row.In當該函數調用然後查看添加活動的指標或MBProgressHUD和在下一視圖釋放。那是怎麼回事?

回答

1
(void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath { 
if (indexPath.section == 1 && indexPath.row == 0) 
{ 

    chkIndexPath = indexPath.row;  
    activity.hidden = FALSE; 
    [activity startAnimating]; 

    [self performSelector:@selector(myFunction) withObject:nil afterDelay:0.0]; 
    [tableView deselectRowAtIndexPath:indexPath animated:YES]; 
} 
- (void)myFunction 
{ 
    //your code. use chkIndexPath instead of indexPath.row 
} 

set activity.hidden = TRUE; in viewwillAppear

1

iRam11,
只需實現此代碼並詢問您是否有任何問題。
NextView.h
聲明

UIAlertView *av; 
UIActivityIndicatorView *actIndicator; 

NextView.m

in viewWillAppear call this callWebService Method 

-(void)callWebService { 
av = [[UIAlertView alloc] initWithTitle:@"Loading..." message:@"Please wait..." delegate:self cancelButtonTitle:nil otherButtonTitles:nil]; 
actIndicator = [[[UIActivityIndicatorView alloc] initWithActivityIndicatorStyle:UIActivityIndicatorViewStyleWhiteLarge] autorelease]; 
[actIndicator setFrame:CGRectMake(120, 70, 40, 40)]; 
[actIndicator setHidesWhenStopped:YES]; 
[av addSubview:actIndicator]; 
[actIndicator startAnimating]; 
[av show]; 
[av release]; 


//Do you web service call 
} 

-(void)parserDidEndDocument:(NSXMLParser *)parser { 
    // Do you tableview reload. 
    [av dismissWithClickedButtonIndex:0 animated:YES]; 
    actIndicator.hidden = YES; 
}