2017-03-29 9 views
0

テーブルビューの場合、SwipeToDeleteを許可したいと思います。テーブルビューを編集して行を上下に移動できるようにしたいと考えています。しかし、上下に行を移動するとき、私は少し気を散らすように、削除ボタンを抑制したい。IOS:SwipeToDeleteを許可しますが、Tableviewに編集ボタンを表示しないでください

編集モードで削除ボタンを押しながらスワイプを削除する方法はありますか?

私は、次のデリゲートをしようとしていますが、それは仕事をしていません。私は削除するように他を設定すると

- (UITableViewCellEditingStyle)tableView:(UITableView *)aTableView editingStyleForRowAtIndexPath:(NSIndexPath *)indexPath 
    { 
     // Detemine if it's in editing mode 
     if (self.editing) 
     { 
NSLog(@"thinks it is editing"); 
      return UITableViewCellEditingStyleDelete; //enable when editing mode is on 
     } 
     else { 
NSLog(@"thinks editing mode is off"); 
      // return UITableViewCellEditingStyleDelete; 
      return UITableViewCellEditingStyleNone; 
     } 
    } 

、それはスワイプで削除することができますだけでなく、ボタンを削除示しています。

elseをNoneに設定すると、スワイプの削除は許可されませんが、削除ボタンは表示されません。

どのように自己編集は仕事をしていない。

答えて

0

あなたはすなわち(編集モードに。そして、あなたは、セルがまだ編集することができることを示すためにcanEdit...からYESを返すことができたときに、セルの左側に+緑または赤-ボタンが表示されないようするために(editingStyle...ためUITableViewCellEditingStyleNoneを返す必要があります、スワイプして)削除:

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

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

オプションで、-または+ボタンがそうであったであろう編集モード()時のセルの左側に現れる余分なスペースを防ぐために、以下を使用することができます

- (BOOL)tableView:(UITableView *)tableview shouldIndentWhileEditingRowAtIndexPath:(NSIndexPath *)indexPath { 
    return NO; 
} 
関連する問題