OGeek|极客世界-中国程序员成长平台

标题: ios - MGSwipeTableCellDelegate : Not Working [打印本页]

作者: 菜鸟教程小白    时间: 2022-12-12 15:20
标题: ios - MGSwipeTableCellDelegate : Not Working

这快把我逼疯了。

我已经实现了MGSwipeTableCell,当它分别向左右滑动时,它在左侧显示三个按钮,在右侧显示一个按钮。 https://github.com/MortimerGoro/MGSwipeTableCell

但是,在滑动后按下这些按钮时,我无法触发委托(delegate)方法。这是我的代码的摘录。

detailviewcontroller.h

@interface DetailViewController : UIViewController <UITableViewDelegate, UITableViewDataSource, MGSwipeTableCellDelegate>

detailviewcontroller.m

- (UITableViewCell *)tableViewUITableView *)tableView cellForRowAtIndexPathNSIndexPath *)indexPath {

    DataStruct *showCredit;
    static NSString *CellIdentifier = @"Credit_Cell";
    MGSwipeTableCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];

    if (cell == nil) {
        //cell = [[CreditCustomViewTableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier"Credit_Cell"];
        cell = [[MGSwipeTableCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier"Credit_Cell"];
    }
    cell.leftButtons = [self createLeftButtons:3];
    cell.leftSwipeSettings.transition = MGSwipeTransition3D;

    cell.rightButtons = [self createRightButtons:1];
    cell.rightSwipeSettings.transition = MGSwipeTransition3D;
    cell.delegate = self;

    return cell;
}

-(NSArray*) swipeTableCellMGSwipeTableCell*) cell swipeButtonsForDirectionMGSwipeDirection)direction
             swipeSettingsMGSwipeSettings*) swipeSettings expansionSettingsMGSwipeExpansionSettings*) expansionSettings
{
    NSIndexPath *myPath = [creditTableView indexPathForCell:cell];
    NSLog(@"ressed Credit last = %d", myPath.row);
    ...
}

我的目标:获取滑动后按下按钮的 indexpath.row。有人能把我引向正确的方向吗?



Best Answer-推荐答案


使用 tappedButtonAtIndex 委托(delegate)方法获取单击按钮所在单元格的 indexpath

-(BOOL) swipeTableCellMGSwipeTableCell*) celll tappedButtonAtIndexNSInteger)index directionMGSwipeDirection)direction fromExpansionBOOL) fromExpansion{

     NSIndexPath *indexPath = [tableVw indexPathForCell:celll];
     NSInteger rowOfTheCell = [indexPath row];
     NSInteger sectionOfTheCell = [indexPath section];
     NSLog(@"rowofthecell %ld", rowOfTheCell);
     NSLog(@"sectionOfTheCell %ld", sectionOfTheCell);

     return NO; // If you don't want to hide the cell.

}

关于ios - MGSwipeTableCellDelegate : Not Working,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30397539/






欢迎光临 OGeek|极客世界-中国程序员成长平台 (http://ogeek.cn/) Powered by Discuz! X3.4