当前位置:编程学习 > wap >>

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];
   


}

 

 

\


4:标记:

 

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath

{  
    UITableViewCell *oneCell = [tableView cellForRowAtIndexPath: indexPath]; 
    if (oneCell.accessoryType == UITableViewCellAccessoryNone) { 
        oneCell.accessoryType = UITableViewCellAccessoryCheckmark; 
    } else  
        oneCell.accessoryType = UITableViewCellAccessoryNone; 
    [tableView deselectRowAtIndexPath:indexPath animated:YES];  

 

 

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

 

补充:移动开发 , IOS ,
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,