你好,歡迎來到IOS教程網

 Ios教程網 >> IOS編程開發 >> IOS開發綜合 >> iOS學習筆記2—關於tableView的一些簡單操作

iOS學習筆記2—關於tableView的一些簡單操作

編輯:IOS開發綜合

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

 

  1. 上一頁:
  2. 下一頁:
蘋果刷機越獄教程| IOS教程問題解答| IOS技巧綜合| IOS7技巧| IOS8教程
Copyright © Ios教程網 All Rights Reserved