Добавьте свой собственный UIPanGestureRecognizer к вашему Tableview.
Сделайте так, чтобы они жили вместе, возвращая YES в - (BOOL) gestRecognizer: (UIGestureRecognizer *) gestRecognizer notRecognizeSim ОдновременноWithGestureRecognizer * (UIGestureRecognizer *
)
//setup
UITableView* tableview=[[UITableView alloc] initWithFrame:CGRectMake(0, 0, 400, 500)];
tableview.dataSource=self;
[self.view addSubview:tableview];
UIPanGestureRecognizer* pangr=[[UIPanGestureRecognizer alloc] initWithTarget:self action:@selector(someMethod:)];
pangr.delegate=self;
[tableview addGestureRecognizer:pangr];
.
.
.
-(BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldRecognizeSimultaneouslyWithGestureRecognizer:(UIGestureRecognizer *)otherGestureRecognizer{
return YES;
}
-(void)someMethod:(UIPanGestureRecognizer*)sender{
CGFloat velocityX = ([sender velocityInView:self.view].x);
CGFloat velocityY = ([sender velocityInView:self.view].y);
NSLog(@"pannig %f %f", velocityX, velocityY);
}
Отлично работает в моем тесте.Если вам действительно нужен UIView над таблицей, вы можете просто установить его там и установить userInteractionEnabled=NO