在UILongPressGestureRecognizer上启用UIPanGestureRecognizer

时间:2017-01-17 15:45:41

标签: ios objective-c iphone uiscrollview uipangesturerecognizer

我在UIScrollView上使用UIPanGestureRecognizer和UILongPressGestureRecognizer。我在viewWillAppear上禁用了UIPanGestureRecognizer,所以我的滚动效果很好

<link href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" rel="stylesheet" />
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.1/jquery.min.js"></script>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script>
<div id="calendar-wrapper">
  <div class="container-fluid">
    <div class="row">
      <div id="calendar-container" class="col-sm-12">
        <div id="calendar" class="well"></div>
      </div>
      <div id="resource-bar" class="sidenav">
        <h4>Resource</h4>
        <div class="input-group">
          <input type="text" placeholder="Search resource" class="form-control resource-filter" />
          <span class="input-group-btn">
            <button class="clear btn btn-default clean-resource btn-danger" type="button">
              <span class="glyphicon glyphicon-remove"></span>
            </button>
          </span>
        </div>
        <div id="popover-content" hidden></div>
      </div>
    </div>
  </div>
</div>
<br>
<br>
<br>
<button type="button" id="show">Show</button>
<button type="button" id="hide">Hide</button>

当用户长时间点击视图时,我在longtap方法中启用UIPanGestureRecognizer

appRecognizer.enabled=NO;

问题是UIPanGestureRecognizer选择器方法没有调用,直到我离开点击并再次按下。 我在多个UIView.i上尝试了多个GestureRecognizer

appRecognizer.enabled=YES;

但是有观点状态的问题。

处理此问题的最佳方法是什么。如何在Long Tap上调用UIPanGesture的完美选择器方法。

1 个答案:

答案 0 :(得分:0)

您是否尝试在其中一个手势识别器上使用requireGestureRecognizerToFail:方法? 将另一个UIGestureRecognizer作为参数传递。

如果它不起作用,请尝试交换参数和接收器手势识别器。应该解决你的问题!