好东西小知识点

系统右滑返回上一级 和 播放进度条 冲突问题解决

2017-08-21  本文已影响43人  林大鹏

一. 问题

最近项目遇到这样一个问题,如下图所示:

语音播放.png

这里系统右滑返回上一级跟播放进度条拖动有冲突,当播放进度在最开始的时候,一拖动就立马返回上一级界面。因此再次记录下解决方法。

二. 解决方法

- (BOOL)gestureRecognizerShouldBegin:(UIGestureRecognizer *)gestureRecognizer {

    // 首先判断otherGestureRecognizer是不是系统pop手势
    if ([gestureRecognizer.view isKindOfClass:NSClassFromString(@"UILayoutContainerView")]) {
        CGPoint point = [gestureRecognizer locationInView:gestureRecognizer.view];
    
        CGRect rectInTableView = [self.tableView rectForRowAtIndexPath:[NSIndexPath indexPathForRow:0 inSection:0]];

        CGRect rect = [self.tableView convertRect:rectInTableView toView:self.view];
        if ((point.y > rect.origin.y - 200) && (point.y < rect.origin.y - 100)) {
            return NO;
        }
        return YES;
    }
    return YES;
}

这里因为进度条放在了tableView的头部,因此需要先进行转换得到相对于viewControllerview的位置,再进行判断。

上一篇 下一篇

猜你喜欢

热点阅读