iOS学习笔记2—关于tableView的一些简单操作

1.删除:

-  (void)tableView:(UITableView *)tableView commitEditingStyle:(UITableViewCellEditingStyle)editingStyle forRowAtIndexPath:(NSIndexPath *)indexPath

{
     if (editingStyle == UITableViewCellEditingStyleDelete)
     {
         NSLog(@"....");
         NSUInteger row = indexPath.row;
         [self.editArray removeObjectAtIndex:row];
         [tableView deleteRowsAtIndexPaths:[NSArray arrayWithObject:indexPath] withRowAnimation:(UITableViewRowAnimationTop)];
    }
    
     //收藏数据更新
 //   [self replaceCurrentViewData:self.editArray];
    

}

  实现以上函数即可

2;移动:

 -(void)tableView:(UITableView *)tableView moveRowAtIndexPath:(NSIndexPath *)sourceIndexPath toIndexPath:(NSIndexPath *)destinationIndexPath
{
    if (sourceIndexPath != destinationIndexPath)
    {
        id object = [self.editArray objectAtIndex:sourceIndexPath.row];
        [object retain];
        [self.editArray removeObjectAtIndex:sourceIndexPath.row];
        if (destinationIndexPath.row > [self.editArray count])
        {
            [self.editArray addObject:object];
        }
        else {
            [self.editArray insertObject:object atIndex:destinationIndexPath.row];
        }
        [object release];
    }
  //  [self replaceCurrentViewData:self.editArray];
}

3:插入

这个与删除行类似。实现下面,点击 +号即可。

3.1 首先将editingStyleForRowAtIndexPath方法中的UITableViewCellEditingStyleDelete修改成UITableViewCellEditingStyleInsert

  -(void)tableView:(UITableView *)tableView commitEditingStyle:(UITableViewCellEditingStyle)editingStyle forRowAtIndexPath:(NSIndexPath *)indexPath
{
     if (editingStyle == UITableViewCellEditingStyleDelete)
     {
         NSLog(@"....");
         NSUInteger row = indexPath.row;
         [self.editArray removeObjectAtIndex:row];
         [tableView deleteRowsAtIndexPaths:[NSArray arrayWithObject:indexPath] withRowAnimation:(UITableViewRowAnimationTop)];
    }
    else

  {

      NSArray *insertIndexPaths = [NSArray arrayWithObjects:indexPath,nil];  


  •     //同样,将数据加到list中,用的row  
  •     [self.list insertObject:@"新添加的行" atIndex:row];  
  •     [tableView insertRowsAtIndexPaths:insertIndexPaths withRowAnimation:UITableViewRowAnimationRight];


       } 

        //收藏数据更新
     //   [self replaceCurrentViewData:self.editArray];
        

    }

    iOS学习笔记2—关于tableView的一些简单操作_第1张图片


    4:标记:

    1. - (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
    2. {   
    3.     UITableViewCell *oneCell = [tableView cellForRowAtIndexPath: indexPath];  
    4.     if (oneCell.accessoryType == UITableViewCellAccessoryNone) {  
    5.         oneCell.accessoryType = UITableViewCellAccessoryCheckmark;  
    6.     } else   
    7.         oneCell.accessoryType = UITableViewCellAccessoryNone;  
    8.     [tableView deselectRowAtIndexPath:indexPath animated:YES];   


    1. else {  
    2.     //我们实现的是在所选行的位置插入一行,因此直接使用了参数indexPath  
    3.     NSArray *insertIndexPaths = [NSArray arrayWithObjects:indexPath,nil];  
    4.     //同样,将数据加到list中,用的row  
    5.     [self.list insertObject:@"新添加的行" atIndex:row];  
    6.     [tableView insertRowsAtIndexPaths:insertIndexPaths withRowAnimation:UITableViewRowAnimationRight];  
    7. }  


  • 你可能感兴趣的:(tableview,手机)