UITableView允许滑动删除但不能长按

时间:2015-06-07 13:49:10

标签: ios uitableview

我向左滑动以删除手势和长按(切换单元格)。

当只有1个单元格时,我只想启用删除而不是长按。

他们都由以下人员处理:
-(BOOL)tableView:(UITableView *)tableView canMoveRowAtIndexPath:(NSIndexPath *)indexPath

如果我在其中退回YES,则可以使用滑动和长按。我只想在这种情况下滑动

2 个答案:

答案 0 :(得分:0)

您可以通过以下方式检查行数:

   - (BOOL)tableView:(UITableView *)tableView canMoveRowAtIndexPath:(NSIndexPath *)indexPath{
        UITableViewCell *cell = [tableView cellForRowAtIndexPath:indexPath];

        NSInteger count = [tableView numberOfRowsInSection:0];

        if (count == 1) {       
               for (UIGestureRecognizer * gesture in cell.gestureRecognizers) {
                   if ([gesture isKindOfClass:[UILongPressGestureRecognizer class]]) {
                      [cell removeGestureRecognizer:gesture];
                   }
               }
        }
        else{
            NSLog(@"do something else");
        }

        return YES;
     }

然后继续。

答案 1 :(得分:0)

您可以使用

[TableView numberOfRowsInSection:yourSection];

代理中的上述方法

-(BOOL)tableView:(UITableView *)tableView canMoveRowAtIndexPath:(NSIndexPath *)indexPath

&安培;然后你可以实施检查&相应地执行你的任务。