我正在尝试创建一个表视图,其单元格可以重新排序(使用 tableView:
moveRowAtIndexPath:toIndexPath
表视图数据源委托方法)。
我写的东西在模拟器(在 OS 3.0 中)中运行良好,但在设备上运行良好(在 OS 3.0 中的 iPod touch)。
拖动控件在模拟器和设备上均可见,并且上述方法在模拟器和设备上均会触发。
使用NSLog
,我可以看到,在 iPod 上,to 行和 from 行总是相同的。
似乎我可以通过触摸拖动控件来“选择”该行,但是一旦我开始向上或向下“拖动”,该控件就会被释放。
有人对为什么会这样有任何想法吗?
-(void)tableView:(UITableView *)theTableView moveRowAtIndexPath:(NSIndexPath *)fromPath toIndexPath:(NSIndexPath *)toPath
{
NSLog(@"into move method... from:%d to:%d", [fromPath row], [toPath row]);
// Make adjustments to the favoritesArray.
NSMutableDictionary *temp = [[favoritesManager favoritesArray] objectAtIndex:[fromPath row]];
[temp retain];
[[favoritesManager favoritesArray] removeObjectAtIndex:[fromPath row]];
[[favoritesManager favoritesArray] insertObject:temp atIndex:[toPath row]];
[temp release];
}