自定义表格单元格,自定义XIB和长按识别器 - 无法使它们协同工作

时间:2012-09-17 18:30:16

标签: ios uitableview uigesturerecognizer

我有一个自定义单元格,上面有一个按钮。我想尝试使用长按。

创建单元格的代码如下所示:

CustomCell *cell = (CustomCell *)[aTableView dequeueReusableCellWithIdentifier:@"CustomCell"];
if (!cell) 
{
    cell = [[[NSBundle mainBundle] loadNibNamed:@"CustomCell" owner:self options:nil] lastObject];

}

(等)

所以我这样做了:

    CustomCell *cell = (CustomCell *)[aTableView dequeueReusableCellWithIdentifier:@"CustomCell"];
    if (!cell) 
    {
//      cell = [[[NSBundle mainBundle] loadNibNamed:@"CustomCell" owner:self options:nil] lastObject];
        cell = [[[NSBundle mainBundle] loadNibNamed:@"CustomCellDwellToSpeak" owner:self options:nil] lastObject];

    }

然后我制作了原始xib的副本。删除了按钮。删除了单元格上的UILongPressGestureRecognizer,并通过控件拖动将识别器拖动到文件的所有者来创建目标:

- (IBAction)longPress:(UILongPressGestureRecognizer *)sender;

enter image description here 但是,一旦我开始生成单元格,我就会收到此错误:

TypOHD[41541:c07] -[UILongPressGestureRecognizer label]: unrecognized selector sent to instance 0x17d0be60

该怎么做?

1 个答案:

答案 0 :(得分:0)

我从来没有得到或找到这个问题的答案。我所学到的是这个计划可能存在缺陷。显然将你赢得的手势识别器与桌面视图混合起来是一种灾难,或者至少令人心碎。

我是我的情况,我决定使用固定的布局,其中包括无论如何都会显示的项目数量。在我的应用程序中,我实际上只是出于历史原因使用表格,并且从不需要显示超过7个项目。

解决方法和黑客,但它对我有用。