2012-01-20 5 views
0

UITableViewが編集可能になっています。UITableViewCell re-ordering:セルがドラッグで10ピクセル移動しない

タップと保持手段(行がテーブルの残りの部分の「上」描かれている)表示されるように「変位」アニメーションを引き起こします。ここまでは順調ですね。

しかし、約10ピクセルよりそれ以上のセルが元の位置に復帰させ、私は、他の位置に任意の行を移動することはできません行を移動させます。

ブレークポイントは-tableView:moveRowAtIndexPath:toIndexPath:は間違いなく、送信元と宛先の行と同じインデックスパスとはいえ、呼び出されていることがわかります。

任意の霊的なデバッガがこれについていくつか光を当てることができますか?

EDIT いくつかのより多くの関連情報:

ありUITableViewCellUILongPressGestureRecognizerだが、私はそれがに記載されたテーブルビューが編集モードにあるとき、それはその通常の動作をスキップ作りました。

私はUITableView並べ替えも長押しによってトリガされ、これは、それとは何かかもしれないと思います。

+0

まだこの問題を解決できましたか?私はあなたと同じ問題を抱えています。ここに問題の私の画面キャプチャです。ここyoutube video http://www.youtube.com/watch?v=ugxuLNL7BnU – sarunw

+0

あなたたちはこれを解決することができましたか?私はまったく同じ問題を抱えていますが、 '' UILongPressGestureRecognizer''を持っていません。奇妙なのは、pushViewControllerではなく、View Controllerをモーダルに表示するとドラッグが機能するということです。 – smek

答えて

0

テーブルビューのセルを移動すると、データソースも移動しますか?例えば

NSString* stringToBeMoved = [myArray objectAtIndex:[sourceIndexPath row]]; 
[stringToBeMoved retain]; 
[myArray removeObjectAtIndex:[sourceIndexPath row]]; 
[myArray insertObject:stringToBeMoved atIndex:[destinationIndexPath row]]; 
[stringToBeMoved release]; 
+0

はい。私が持っているコードはあなたがそこに持っているコードと同じです。 – jogloran

2

は、おそらく私はあなたのためのソリューションでは遅すぎる来ましたが、それは同じ動作が発生した他の人に役に立つかもしれません。あなたが持っている問題は、UILongPressGestureRecognizerがセルのリオーダコントロールを長押しするのを妨げることが原因です。この動作は、cell.contentViewUILongPressGestureRecognizerを追加することで避けることができます。これは、セルのcontentViewに並べ替え制御があるためです。

関連する問題