2009-09-03 11 views
10

私は、「並べ替え」コントロールを常に表示したい場合や、ユーザーがスワイプして行を削除したい場合は、uitableviewを使ってiPhoneアプリを持っています。編集モードで既にスワイプしています

私は現在取っているアプローチは、編集モードで選択を編集モードでテーブルビューを入れて、できるようにすることです

self.tableView.editing = YES; 
self.tableView.allowsSelectionDuringEditing = YES; 
私はその後、赤は

- (UITableViewCellEditingStyle)tableView:(UITableView *)tableView editingStyleForRowAtIndexPath:(NSIndexPath *)indexPath 
{ 
    return UITableViewCellEditingStyleNone; 
} 

- (BOOL)tableView:(UITableView *)tableView shouldIndentWhileEditingRowAtIndexPath:(NSIndexPath *)indexPath 
{ 
    return NO; 
} 

私はカントの図を使って円を削除する隠す

テーブルビューがすでに編集モードになっているときに、スワイプのジェスチャーで右側の「削除」を表示する方法を、誰かが正しい方向に向けることができますか?

誰かがいないときは編集モードで表示するようにコントロールを並べ替えセルを取得する方法を知っている場合、ユーザは、あなたが、与えられた行の上にスワイプすると、代わり、それはまた

歓声

+1

ちょうど私がこの問題の研究をたくさん行ったことを追加したいと思った(私はまったく同じ要件があります)、あなた自身のスワイプロジックを実装しなければ可能ではないと思います。同様に、Appleのロジックの多くを同様に複製することなく、非編集モードで再注文コントロールを表示することは可能であるとは私は考えていません。 –

+0

これは完了ですか? – AnjDenny

答えて

1

実行可能な解決策になりますeditingStyleForRowAtIndexPathshouldIndentWhileEditingRowAtIndexPathによって返される値を変更できるように、参照をどこかに格納する必要があります。あなたの最善の策は、スワイプされたセルにindexPathForCellを使用して保存することです。上記の2つの表示方法では、NSIndexPathが同じかどうかを確認する必要があります(同じポインタになるかわからない、またはセクション/行の値を比較する必要がある - テストが必要)。一致する場合は、削除ボタンを表示します。

テーブルビューでreloadDataに電話をかけて、スクロールしてからもう一度表示しないようにする必要があることに注意してください。

1

あなたの方向がヒューマンインタフェースのガイドラインを破って、アプリが承認されなくなってしまうのではないかと思います。

スワイプジェスチャーをキャプチャできず、それを使って削除確認用の赤い削除(停止標識)アイコンを '再表示'することができないのはなぜですか?

関連する問題