我想重新排序我的表视图中的行。我已经实施了这两种方法。
- (void)tableView:(UITableView *)tableView moveRowAtIndexPath:(NSIndexPath *)fromIndexPath toIndexPath:(NSIndexPath *)toIndexPath{
NSLog(@"Move Row At IndexPath");
}
- (BOOL)tableView:(UITableView *)tableView canMoveRowAtIndexPath:(NSIndexPath *)indexPath{
NSLog(@"Can Move Row At IndexPath");
if(indexPath.section == 0 || (indexPath.section == 1 && indexPath.row == 0)){
NSLog(@"Don't Move");
return NO;
}
return YES;
}现在我只想重新排序单元格,而不希望用户删除单元格。但是,当我启用编辑[tableView setEditing:yes animated:YES];时,它还允许用户从表视图中删除项目,我只想在表视图中显示重新排序控件,比如iphone > Notification上的控件,然后按编辑。
有人能知道怎么做吗。
谢谢
发布于 2014-04-22 09:26:08
试着用这种方式实现
-(BOOL)tableView:(UITableView *)tableView canEditRowAtIndexPath:(NSIndexPath *)indexPath
{
return YES;
}
// method to remove "-" sign from editing mode
-(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
{
// Update your datasource here and work accordingly......>
}发布于 2014-04-22 09:07:05
实现tableView:canEditRowAtIndexPath:并将NO返回给它。默认情况下,所有行都是可编辑的。
- (BOOL)tableView:(UITableView *)tableView canEditRowAtIndexPath:(NSIndexPath *)indexPath
{
return NO;
}发布于 2014-04-22 09:15:19
要重新排序单元格,您应该使用tableView:canMoveRowAtIndexPath:编辑方法,只用于插入和删除。更多信息,这里。
https://stackoverflow.com/questions/23214992
复制相似问题