我用的是开源的AQGridView,行为有点类似于UITableView。
我现在需要这样的行为:当触摸屏幕(当前是Gridview)的时候可以做一些操作。
但发现GridviewController无法好像无法响应touchBegan, touchMoved这样的函数(UITableViewController也同样)该怎样做,才能捕捉到GridView/UITableView的触摸事件??

解决方案 »

  1.   

    不可见View覆盖?什么意思?比如实现当触摸girdview时会在顶端弹出一个控制条这样子的功能
      

  2.   

    不可见的VIEW也就是在栈的最顶端有一个view  但被设为不可见的,你操作的实际上是这个view
      

  3.   

    再或许AQGridView和tableview在实现触摸事件上有些区别,你可以查些资料看看,应该问题不大
      

  4.   

    但我实际上要操作的是GridView,比如要知道触摸到那一格..
      

  5.   

    你的意思是触摸GridView时无法响应触摸事件么?
      

  6.   

    嗯,就是在GridViewController中写的那些touchBegan:withEvent,touchMoved:withEvent都无法执行。
    试了一下,在UITableViewController中也一样。
      

  7.   

    不知道你的GridView是怎么写的,我们也自定义了一个类似的东西,是从UIView继承过来,上面放了一些button,然后处理button的事件
    呵呵,这种方法有点烂
      

  8.   

    @interface GridViewController:AQGridViewController{
        NSArray* imageCells;
    }然后在实现文件中写了几个touch的事件
     #import "GridViewController.h"
    @implementation GridViewController-(void) touchesBegan:(NSSet*)touches withEvent:(UIEvent*)event
    {
        NSLog(@"touchBegan");
    }-(void) touchesMoved:(NSSet*) touches withEvent:(UIEvent*)event
    {
        NSLog(@"touchMoved");
    }
      

  9.   

    但子类化每一个cell的类是可以响应touchBegan和touchMoved的
      

  10.   

    因为要做的是类似于iPad的图片浏览器那样的东西。如果图片非常多,你自己用UIView就很难处理了..
      

  11.   

    敢问[MyView isTouchEnable:YES]可否写了?
      

  12.   

    AQGridViewDelegate- (void) gridView: (AQGridView *) gridView didSelectItemAtIndex: (NSUInteger) index;
      

  13.   


    应该用控件自身的delegate,因为这些delegate集成了控件的表现和行为。
      

  14.   


    在自身的delegate里没有touchesBegan,touchesMoved这样的行为。只有选中,将被选中这些行为...
    我是不是应该自己写,然后在AQGridView里把它们传出去?
      

  15.   

    那估计只能重写AQGridView里的touchesBegan,touchesMoved这些方法了