Add a row dynamically in TableView of iphone

后端 未结 4 576
花落未央
花落未央 2021-01-05 14:26

I need to add a new row in the tableview when i select a row in the table.

Am i suppose to use the following method???

- (void)insertRowsAtIndexPaths         


        
相关标签:
4条回答
  • 2021-01-05 14:45

    If you are filling your table from an array, you can just add an element to your array and call [myTable reloadData]

    0 讨论(0)
  • 2021-01-05 14:49

    When I add a row dynamically, I use insertRowsAtIndexPaths: here is an example function

    - (void) allServersFound {
        // called from delegate when bonjourservices has listings of machines:
        bonjourMachines = [bonjourService foundServers]; // NSArray of machine names;
    
        NSMutableArray *tempArray = [[NSMutableArray alloc] init];
    
        int i = 0;
        for (NSArray *count in bonjourMachines) {
            [tempArray addObject:[NSIndexPath indexPathForRow:i++ inSection:0]];
        }
    
        [[self tableView] beginUpdates];
        [[self tableView] insertRowsAtIndexPaths:(NSArray *)tempArray withRowAnimation:UITableViewRowAnimationNone];
        [[self tableView] endUpdates];
    
        [tempArray release];
    }
    
    0 讨论(0)
  • 2021-01-05 14:52

    reload data is nice and simple, but does not animate as far as I can tell...

    0 讨论(0)
  • 2021-01-05 14:56

    ReloadData can add row in teble view but if you want some animation when row add then you should use these lines of code.

    -(void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
    {
            NSMutableArray *tempArray = [[NSMutableArray alloc] init];
            [tempArray addObject:[NSIndexPath indexPathForRow:indexPath.row+1 inSection:0]];
    
            [mainArray insertObject:@"new row" atIndex:indexPath.row+1];
    
            [[self tableView] beginUpdates];
            [[self tableView] insertRowsAtIndexPaths:(NSArray *)tempArray withRowAnimation:UITableViewRowAnimationFade];
            [[self tableView] endUpdates];
    
    }
    
    0 讨论(0)
提交回复
热议问题