GMGridViewCell CustomView Button动作方法是不是被调用了?

时间:2012-11-02 19:04:55

标签: objective-c ios gmgridview gmgridviewcell

我有一个带GMGridView的视图控制器,其中我有4个GMGridViewCells。对于每个单元格视图,我使用单独的视图控制器视图作为单元格的内容视图。我正在加载到GMGridVeiwCell中的视图控制器具有按钮。当我点击GMGridViewCell中的按钮时,按钮的IBAction方法不会被调用。谁可以帮我这个事?如何捕捉按钮操作?

1 个答案:

答案 0 :(得分:2)

一个简单的解决方案是覆盖- (BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldReceiveTouch:(UITouch *)touch类中的GMGridView,如下所示:

- (BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldReceiveTouch:(UITouch *)touch
{
    if(gestureRecognizer == _tapGesture) {

        UIView* touchedView = [touch view];
        if([touchedView isKindOfClass:[UIButton class]]) {

            return NO;
        }
    }

    return YES;
}

说这个,你可以依靠这个讨论获得更多信息:GMGridView discussion

如果这确实解决了问题,请告诉我。此外,为什么每个自定义视图都有一个控制器?我认为实现目标的最简单方法是为自定义视图创建委托。委托将是包含GMGridView的控制器。单击自定义视图中的按钮时,将调用该委托,然后按照响应进行响应。

希望有所帮助。