我目前正在为 iPhone 编写一个 iOS 应用程序,它有一个特殊的功能,可以动态创建流程图。创建的流程图是一个巨大的、可滚动的 View 。流程图的每个信息节点都包含自动将 View 移动到下一个信息节点的按钮。在任何时候,用户都可以使用捏合手势缩小当前信息节点并查看整个流程图。
我的问题是这样的:我注意到如果用户用他们的一根手指点击信息节点中的一个按钮开始这个捏合 Action ,那么这个手势优先并且显示下一个节点而不是捏合手势缩小来自当前节点。
我一直在查看 StackOverflow 并尝试了几种方法来解决这个问题,但似乎没有任何效果。我想知道是否有人遇到过类似的问题,他们是否能够解决这个问题?
最佳答案
使用@Till 的建议并进一步研究我的问题,我做了一些对我有用的事情,我想我会在这里分享它以防其他人有类似的问题或愿望。
我能够创建可用作半按钮的 UIView。对于这些 View 中的每一个,我都非常喜欢 UITapGestureRecognizers 并将它们定位到检查发送者状态是否为 StateEnded 的方法:
-(void)handleButtonTap:(UITapGestureRecognizer *)sender
{
if(sender.state == UIGestureRecognizerStateEnded)
// Go on and do the code here
}
但是,为了保持原始 iOS 按钮的外观,我更进一步。对于我创建的每个 UIButton,我没有将目标与这些按钮相关联,而是为每个按钮创建了 UIView。这些 UIView 完全空白,背景颜色为“Clear”。通过这种方式,我现在可以拥有我的按钮,但仍然可以获得我想要的功能。
我希望这对遇到类似问题的其他人有所帮助。再次感谢@Till 的建议。
关于iphone - 如何阻止 iOS PinchGesture 选择按钮?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15394122/