作为苹果的文件说,要处理手势的处理是
然而,在我的情况,我的UITableViewController的子类的窗口的根VC,并添加以覆盖整个屏幕如下:
@interface MyTableViewController : UITableViewController()
@end
@implementation MyTableViewController
- (void)viewDidLoad
{
[super viewDidLoad];
UIView *redView = [[UIView alloc] initWithFrame:self.view.bounds];
redView.backgroundColor = [UIColor redColor];
[self.view addSubview:redView];
}
我认为redView将是hit-test视图,如果我触摸屏幕来产生一个平移手势,并且因为redView不能处理它,它会触摸事件传递给它的父,这也是的tableView的上海华。其结果是,在tableview中不会处理平移手势。然而,仍然的tableView可以处理的移动手势,任何人都可以解释一下吗?
如果您的视图控制器是UITableViewController
,superview
的redView
将是UITableView
,所以当redView
不处理的姿态,它传递给它的superview
,所以UITableView
接收(和工艺)的姿态。
如果有人还在这里寻找一个更简单的解决方案是:在UITableView中有一个名为panGestureRecognizer属性,以便在上面观您只需编写代码:
[self.upperView addGestureRecognizer:self.tableView.panGestureRecognizer];
所以表滚动事件被传递到表视图