I've already solved it. It was issue with UIPanGestureRecognizer. The code:
- (IBAction)panGesture:(UIPanGestureRecognizer *)recognizer {
if ([recognizer.view isKindOfClass:[UISlider class]] || self.movieViewController) {
return;
}
if (recognizer.state == UIGestureRecognizerStateBegan) {
startLocation = [recognizer locationInView:self.view];
if (startLocation.x < 25) {
[self.menuContainerViewController reloadData];
[self hideBubble];
}
}
if (isMenuShown) {
if (startLocation.x > self.view.frame.size.width - 25) {
CGPoint stopLocation = [recognizer locationInView:self.view];
CGFloat distance = -self.view.frame.size.width + stopLocation.x;
[self movementAnimation:distance];
}
}
else {
if (startLocation.x < 25) {
CGPoint stopLocation = [recognizer locationInView:self.view];
CGFloat distance = -self.view.frame.size.width + stopLocation.x;
[self movementAnimation:distance];
}
}
if (recognizer.state == UIGestureRecognizerStateEnded) {
CGRect frame = self.menuContainerViewController.view.frame;
if (frame.origin.x + frame.size.width > self.view.frame.size.width / 2) {
[self slideInAnimation];
}
else {
[self slideOutAnimation];
}
}
}
And I added into my UIViewController:
- (BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldReceiveTouch:(UITouch *)touch {
if ([touch.view isKindOfClass:[UISlider class]]) {
return NO;
}
return YES;
}
Now it works like a boss!