未调用SWTableViewCell Delegate方法

时间:2014-09-12 23:34:16

标签: ios uitableview delegates

我是IOS的新手,所以我不能100%确定为什么在我的SWTableViewCell实现中没有调用委托方法(可以在这里找到一个库:{{3} })

我有一个 tableViewController.h 文件,如下所示:

#import <UIKit/UIKit.h>
#import "SWTableViewCell.h"
#import <AVFoundation/AVFoundation.h>

@interface ICIRecordingsViewController : UITableViewController <SWTableViewCellDelegate, AVAudioPlayerDelegate>
@property (nonatomic, strong) NSArray *documentArray;
@property (strong, nonatomic) AVAudioPlayer *audioPlayer;
@property (strong, nonatomic) SWTableViewCell *previousCell;
@end

tableViewcontroller.m 文件导入以下内容:

#import "ICIRecordingsViewController.h"
#import "ICIRecordingCell.h"

@interface ICIRecordingsViewController ()

@end

ICIrecordingCell.h文件看起来像这样:

#import <UIKit/UIKit.h>
#import "SWTableViewCell.h"

@interface ICIRecordingCell : SWTableViewCell
@property (weak, nonatomic) IBOutlet UILabel *title;
@property (weak, nonatomic) IBOutlet UIButton *playButton;

@end

ICIRecordingCell.m文件导入ICIRecordingCell.h

滑动手势正在单个单元格上注册并显示底层按钮,但是当我单击按钮时,代理方法不会被触发:

-(void) swipeableTableViewCell:(SWTableViewCell *)cell didTriggerRightUtilityButtonWithIndex:(NSInteger)index{
    switch(index){
        case 0:{
            UIActionSheet *shareActionSheet = [[UIActionSheet alloc] initWithTitle:@"Share" delegate:nil cancelButtonTitle:@"Cancel" destructiveButtonTitle:nil otherButtonTitles:@"Share on FaceBook", @"Share on Twitter", nil];
            [shareActionSheet showInView:self.view];

            [cell hideUtilityButtonsAnimated:YES];
            break;
        }
        case 1:{
            NSIndexPath *cellIndexPath = [self.tableView indexPathForCell:cell];
            //need to figure out how to delete the item from the file system
            [self.tableView deleteRowsAtIndexPaths:@[cellIndexPath] withRowAnimation:UITableViewRowAnimationLeft];
             break;
        }
        default:break;
    }
}

我已经在委托方法上设置了一个断点,但是当按钮被击中时没有任何东西被击中。有什么想法吗?

1 个答案:

答案 0 :(得分:0)

行单元格和SWTableViewCell上的附件视图似乎存在问题。附件似乎抓住了触摸事件,并没有将其传递给SWTableViewCell创建的按钮。现在,我已经禁用了附件视图,并且委托调用正在按预期发生。