20

我正在使用模拟器为 iPhone 5 准备我的应用程序,我发现了一个奇怪的问题,在我看来,我的几个按钮在 iPhone(Retina 4 英寸)模拟器中不起作用,但在 iPhone(Retina 3.5 英寸)模拟器中工作正常。这些按钮在被点击时根本不做任何事情。有没有其他人遇到过这个问题?

我很难弄清楚从哪里开始。关于从哪里开始的任何建议?

非常感谢您的智慧!

4

5 回答 5

32

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

重要提示:在 Interface Builder 中创建窗口时,建议您在属性检查器中启用 Full Screen at Launch 选项。如果未启用此选项并且您的窗口小于目标设备的屏幕,您的某些视图将不会接收到触摸事件。这是因为窗口(像所有视图一样)不会接收超出其边界矩形的触摸事件。因为默认情况下视图不会被裁剪到窗口的边界,所以视图仍然可见,但事件不会到达它们。启用“启动时全屏”选项可确保窗口大小适合当前屏幕。

来自 Apple 的完整文档

于 2012-10-31T00:09:45.163 回答
8

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

于 2012-09-19T20:30:10.360 回答
4

问题是由于弹簧和支柱的设置方式与我的按钮重叠的另一个控件引起的。调整按钮的 z 顺序解决了这个问题。谢谢大家!

于 2012-09-19T21:18:28.237 回答
4

这个问题有两种解决方案:

如果您使用 MainWindow,请按照以下步骤操作:

一种。选择MainWindow.xib

湾。Full Screen at Launch从属性检查器中可用的 Windows 选项中选择。

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

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

在 ViewDidLoad 中。

于 2013-04-18T10:08:17.307 回答
1

我解决了我的问题。

3.5寸和4寸的view .origin 是不一样的,所以在写通用代码的时候要注意给CGRectmake(x,y,w,h)

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

于 2013-04-15T06:28:01.367 回答