2009-09-17 5 views
12

UITableViewCellの並べ替えを許可し、削除するスワイプを使って削除することはできますが、赤い削除サークルではできません。UITableViewで並べ替えコントロールを表示している間スワイプを有効にする

- (void)loadView 
{ 
    [super loadView]; 
    [table setEditing:YES animated:NO]; 
} 

- (void)tableView:(UITableView *)tableView commitEditingStyle:(UITableViewCellEditingStyle)editingStyle forRowAtIndexPath:(NSIndexPath *)indexPath 
{ 
    if (editingStyle == UITableViewCellEditingStyleDelete) { 
     // Perform delete here 
    } 
} 

- (void)tableView:(UITableView *)tableView moveRowAtIndexPath:(NSIndexPath *)fromIndexPath toIndexPath:(NSIndexPath *)toIndexPath 
{ 
    // Perform move here 
} 

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

- (BOOL)tableView:(UITableView *)tableView canMoveRowAtIndexPath:(NSIndexPath *)indexPath 
{ 
    return YES; 
} 

また、私が編集モードを無効にし、運で-[UITableViewCell setShowsReorderControl:YES]を呼び出して試してみました。

Image http://booleanmagic.com/uploads/ReorderNotDelete.png

+0

はい、私は承知している「ショーはコントロールを並べ替える」などの財産だと思いますかわかりません。 「リンクアカウント」機能が機能しませんでした。少なくとも抵抗の道は、新しいアカウントを作成し、一時的なアカウントを孤立させることでした。 – rpetrich

答えて

2

私はあなたには、いくつかのカスタムタッチイベント傍受を行う必要があると思います。

英語で: 指が動いた場合はx距離、セルを横切る場合はそのセルのみ、次に削除コントロールを表示します。

左に円をオフにして、私はそれが

+0

残念ながら、削除確認をプログラムで表示する方法はありません(showingDeleteConfirmationは読み取り専用です)。今のところ、リオーダーコントロールを表示したままにしていますが、おそらくタッチを傍受してカスタム削除ボタンを手動で表示することになります。 – rpetrich