用户界面基本相同,但其中一个用于较小的iPhone屏幕,另一个用于较大的iPad屏幕(用于创建iPad UI的this post)。iPad上的iOS应用仅适用于部分屏幕
在iPhone上,一切都很好。我的按钮变色(XIB显示为蓝色,在iPad上显示为白色),我的TextField似乎没有正确连接到我的UIViewController(iPad和iPhone XIB共享相同的控制器),但是,真正的问题是,该应用程序只响应触摸左上角的一半(实际上没有测量,但它是关于iPhone的大小)。注意:该应用程序在iPad上显示全屏。
有了一些测试,我已经确认了以下内容:
- 这只是我的应用程序的问题,因为其他应用程序是全屏,没有任何问题
- 如果我提出一个小部件(按钮/ textview)到中心的左边缘并重新启动应用程序,该小部件完全工作。如果我将它移到右边,它根本没有响应。
在下图中,绿色框表示应用程序窗口小部件响应触摸的区域。
在我的常规应用程序设置中,我选择了Universal,并且成功为我的iPhone应用程序(LoginPage〜iphone.xib)和iPad(LoginPage〜ipad.xib)的UI创建了一个.XIB文件。
使用XCode 5.0.2。
编辑:我只是意识到,我有这个问题,以及当我用UITableViewController编程创建用户界面。
难道是有一个隐藏的视图阻止触摸区域?如果一个视图响应触摸事件,那么它将阻止它下面的任何东西接收触摸。 – Fogmeister
您是否执行过检查设备是iPhone还是iPad,并据此选择相应的.xib? – Jasper
@JasperPol我在栈上读了一些东西,如果你给它命名〜ipad选择了正确的。这似乎就是这种情况,因为我的观点已经有了足够的差异,可以将它们区分开来。这只是屏幕没有响应绿色框区域之外。 – Dulax