1

我目前正在为 iPhone 编写一个 iOS 应用程序,该应用程序具有一个特殊功能,可以动态创建流程图。创建的流程图是一个巨大的、可滚动的视图。流程图的每个信息节点都包含自动将视图移动到下一个信息节点的按钮。在任何时间点,用户都可以使用捏合手势缩小当前信息节点并查看完整的流程图。

我的问题是这样的:我注意到如果用户用他们的一根手指点击信息节点中的一个按钮开始这个捏动作,那么这个手势优先并且显示下一个节点而不是从当前缩小的捏手势节点。

我一直在查看 StackOverflow 并尝试了几种方法来解决此问题,但似乎还没有任何效果。我想知道是否有人遇到过类似的问题,他们是否能够克服这个问题?

4

1 回答 1

1

使用@Till 的建议并进一步研究我的问题,我做了一些对我有用的事情,我想我会在这里分享它,以防其他人有类似的问题或愿望。

我能够创建可用作半按钮的 UIView。对于这些视图中的每一个,我都使用了 UITapGestureRecognizers 并将它们定位于检查发送者状态是否为 StateEnded 的方法:

-(void)handleButtonTap:(UITapGestureRecognizer *)sender
{
  if(sender.state == UIGestureRecognizerStateEnded)
    // Go on and do the code here
}

但是,为了保持原始 iOS 按钮的外观,我更进一步。对于我创建的每个 UIButton,我没有将目标与这些按钮相关联,而是为每个按钮创建了 UIView。这些 UIView 完全空白,背景颜色为“清除”。通过这种方式,我现在可以拥有我的按钮,但仍然可以获得我想要的功能。

我希望这可以帮助其他有类似问题的人。再次感谢@Till 的建议。

于 2013-03-19T14:15:02.317 回答