iphone - 如何阻止 iOS PinchGesture 选择按钮?

标签 iphone ios uibutton uigesturerecognizer

我目前正在为 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/

相关文章:

iphone - 将 NSDate 转换为 NSString 时间问题

iphone - 通过 Xcode 安装 iOS IPA,钥匙串(keychain)中没有证书,也没有安装配置文件

ios - 如何在CloudKit中创建用户?

javascript - ios:如何检测自定义 url 方案链接是否失败?

ios - 如何保存一个姓名字符串和两个不同长度的电子邮件和电话号码数组

objective-c - 使用resizableImageWithCapInsets : image for button only works for the state set, 其他状态显示 "gap"

iphone - Fbconnect 在 ios 应用程序中像网络浏览器一样共享对话

iphone - 如何在 Iphone 上显示带有 UIButton 的 UINavigationController?

ios - 是否可以更改具有不同类的对象的类类型?

iphone - 我怎样才能让 NSTimer 在用户使用应用程序的整个过程中一直运行?