Xcode 4.5中的IBAction

7

是否有人在 Xcode 4.5 上遇到了 IBAction touchUpInside 没反应的情况,而且 iOS 部署目标也设置为了 5?我在使用 iOS6 的模拟器时它可以工作,但在 iOS5 上不行。

3个回答

11

我曾经遇到过同样的问题,因为我使用了轻拍手势。您应该可以通过添加下面这行代码来保留现有代码。这将防止您的轻拍手势影响内部按钮等的任何轻拍操作...

yourTapGesture.cancelsTouchesInView = NO;

6

编辑:

我已经找到了解决方案。我在视图上添加了一个tap gesture,这会覆盖视图检测任何按钮的touchUpInside操作的能力,因为它们也是视图的一部分。所以你应该删除手势识别器或使其特定于某个对象。例如,我将触摸手势添加到视图中未在子视图上的指定部分(我创建了一个新对象/出口并加以标记)。仍然不确定为什么在5.1和6.0中有所不同,但这应该可以帮助你。

原始帖子:

我遇到了同样的问题。我的一个项目中,在模拟器版本6.0上,子视图上的按钮是可点击的,而在版本5.1上则不行。我还添加了一些手势识别器,但注释掉它们后发现它们不是问题所在。我唯一发现的问题是,有时候按钮可以在触摸结束外部动作时被点击(尽管它们被编程为在内部触摸结束),所以我不确定苹果是否更改了按钮操作的eNums?如果我找到解决方案,我一定会在这里提供。


0

我刚刚创建了一个新的演示项目。我在视图中添加了一个按钮,处理touchUpInside事件,并使用Xcode4.5在部署目标ios6和ios5上进行了构建和测试 - 两者都正常工作。你可以自己尝试使用演示项目 - 不会花费超过几分钟。


如果你做的和我一样,那么问题不在 Xcode(你的系统)或者模拟器上。唯一的自由变量就是你的代码。因此,问题肯定出在你的代码里——比如说你插入了一个轻拍手势识别器。 - David H
这是一个有趣的想法,我确实有许多触摸手势识别器。挑战在于 - 为什么它在iOS 6上运行而不是iOS 5上运行,手势识别器在新的SDK中改变了吗? - Michal
iOS6中有很多内部变化。苹果在商店里破坏了我的应用程序。看看你的手机-更新的应用程序-有多少说修改以适用于iOS6? - David H

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接