我的按钮在iPhone(视网膜4英寸)模拟器上无法检测到触摸事件,但在iPhone(视网膜3.5英寸)模拟器上可以工作

我的按钮在iPhone(视网膜4英寸)模拟器上无法检测到触摸事件,但在iPhone(视网膜3.5英寸)模拟器上可以工作,iphone,ios,ios6,iphone-5,Iphone,Ios,Ios6,Iphone 5,我正在使用模拟器为iPhone5准备我的应用程序,我发现了一个奇怪的问题,在我的一个视图中,我的两个按钮在iPhoneRetina4英寸模拟器中不工作,但在iPhoneRetina3.5英寸模拟器中工作正常。这些按钮在被点击时什么也不做。还有其他人经历过这个问题吗 我很难弄清楚从哪里开始。关于从哪里开始有什么建议吗 非常感谢你的智慧 对于我来说,解决方案是将MainWindow.xib的大小模拟指标设置为Retina 4全屏。我不需要改变其他屏幕的大小,它们仍然设置为“无”。更改MainWind

我正在使用模拟器为iPhone5准备我的应用程序,我发现了一个奇怪的问题,在我的一个视图中,我的两个按钮在iPhoneRetina4英寸模拟器中不工作,但在iPhoneRetina3.5英寸模拟器中工作正常。这些按钮在被点击时什么也不做。还有其他人经历过这个问题吗

我很难弄清楚从哪里开始。关于从哪里开始有什么建议吗


非常感谢你的智慧

对于我来说,解决方案是将MainWindow.xib的大小模拟指标设置为Retina 4全屏。我不需要改变其他屏幕的大小,它们仍然设置为“无”。更改MainWindow.xib后,底部区域再次可单击…

该问题是由于弹簧和支柱的设置方式导致另一个控件与我的按钮重叠造成的。调整按钮的z顺序修复了该问题。谢谢大家

您需要编辑MainWindow.xib并在启动时启用全屏。有关更详细的说明,请参阅苹果的文档:

重要提示:在Interface Builder中创建窗口时 建议您在中启用启动时全屏选项 属性检查器。如果此选项未启用,而您的窗口 小于目标设备的屏幕,触摸事件将不会发生 收到你的一些意见。这是因为windows像所有 视图不接收超出其边界的触摸事件。 由于默认情况下视图不会剪裁到窗口的边界,因此 视图仍然可见,但事件无法到达。启用 启动时全屏显示选项可确保窗口大小合适 适用于当前屏幕

我解决了我的问题

视图。3.5英寸和4英寸屏幕的原点不同,因此,在编写这两个屏幕的通用代码时,我们需要注意给出CGRectmakex,y,w,h


设置温度。diff view的diff背景色,以便您可以检查任何视图是否重叠,以获取4.0英寸的事件。

此问题有两种解决方案:

如果您使用的是MainWindow,请执行以下步骤:

a。选择MainWindow.xib

b。选择属性检查器中可用的从Windows启动时全屏显示选项

如果应用程序不包含MainWindow,则只需添加:

self.view.frame = [UIScreen mainScreen].bounds

在ViewDidLoad中。

只是一个猜测,但是您是否检查过没有透明视图与按钮重叠?也许springs和struts在iPhone5的屏幕分辨率上没有达到你的预期,我也面临着同样的问题。在我的例子中,底部区域可能额外的0.5英寸没有响应。放置在该区域的选项卡栏按钮不起作用,尝试从该区域快速滚动UITableView也不起作用。您的按钮是否也位于底部区域?@pennersr:您试过这个吗?这对我没有任何帮助,但希望它能帮助你。检查垂直和水平方向的抗压比是否设置为1000,这样按钮才能真正显示在屏幕上。操作时要小心。这实际上会掩盖问题,因为它只在模拟器的全屏上启用触摸事件。在实际设备上,除非在MainWindow.xib中启用启动时全屏选项,否则触摸事件仍将不起作用。请参阅我的答案以获得更完整的解释。这不正确,因为它只会更改视图大小。在3.5英寸的屏幕上,可能无法正确调整大小。最好的选择是在主窗口启动时启用全屏。非常感谢,修复了我的问题!我的应用程序中的选项卡栏没有在4上显示action touch事件。这把它修好了。。。谢谢。我能理解为什么苹果不想在rootViewController上进行全屏检查,但是我不明白为什么在发布时默认不检查全屏,因为他们已经改变了屏幕大小。我在iOS 6.1中也禁用了tabBar。谢谢!我两天来一直在寻找解决办法。