2012-03-02 92 views
5

我的问题是这样的:Reordering UITableView without reorder control,我用这些方法:重新排序的UITableView和隐藏重排序控制

- (BOOL)tableView:(UITableView *)tableView canEditRowAtIndexPath:(NSIndexPath *)indexPath { 
    return YES; 
} 
- (UITableViewCellEditingStyle)tableView:(UITableView *)tableView editingStyleForRowAtIndexPath:(NSIndexPath *)indexPath { 
    return UITableViewCellEditingStyleNone; 
} 
- (BOOL)tableView:(UITableView *)tableView shouldIndentWhileEditingRowAtIndexPath:(NSIndexPath *)indexPath { 
    return NO; 
} 
- (BOOL)tableView:(UITableView *)tableView canMoveRowAtIndexPath:(NSIndexPath *)indexPath { 
    return YES; 
} 
- (void)tableView:(UITableView *)tableView moveRowAtIndexPath:(NSIndexPath *)sourceIndexPath toIndexPath:(NSIndexPath *)destinationIndexPath{ 

} 

而且

[self.tableView setEditing:YES]; 

...... 

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath 
{ 
    static NSString *CellIdentifier = @"Cell"; 
    ItemTableViewCell *cell = (ItemTableViewCell *)[tableView dequeueReusableCellWithIdentifier:CellIdentifier]; 
    if (cell == nil) { 
     NSArray *nib = [[NSBundle mainBundle] loadNibNamed:@"ItemTableViewCell" owner:self options:nil]; 
     cell = [nib objectAtIndex:0]; 
    } 
    // ... 
    cell.showsReorderControl = NO; 
    return cell; 
} 

参考文献:reordering control in UITableView

结果是的表可以重新排序,但重新排序控制从不隐藏。所以我想知道我是错的,还是有人能帮助我?谢谢。

回答

5

检查此网址:Reordering a UITableViewCell from any Touch point。这可能会对你有所帮助

+1

我可以建议尝试[BVReorderTableView(https://github.com/bvogelzang/BVReorderTableView)?而不是黑客UITableView细胞子视图它提供了一个更清洁的解决方案。 – bvogelzang 2013-03-23 17:55:29