UIButton在iPad的屏幕底部没有响应

时间:2011-02-14 20:32:31

标签: ipad ios uikit uibutton

当UIButton位于iPad屏幕底部附近(主页按钮附近)时,Uibutton没有响应任何触摸。它已启用触摸并且正在接收事件,但是没有对目标设置任何响应。我已经检查了视图层次结构,它肯定是最重要的。它不在菜单栏中。

这只发生在iPad上,只有在底部,我没有iPhone的问题,两个设备的代码是一样的吗?

有没有人知道可能会发生什么?

2 个答案:

答案 0 :(得分:1)

我遇到类似的问题,iPad应用程序没有响应,除了在屏幕的左上角,但有一个通用应用程序从MainWindow.xib加载主窗口。

由于该应用程序是通用的,并且没有.xibs的两个变体,因此xib中主窗口的大小为iPhone。在iPad上运行时,这是不可见的,因为默认情况下UIWindow的clipsToBounds属性(XCode检查器中的“剪辑子视图”)为NO,这意味着子视图可以在窗口的边界外绘制,从而在视觉上全屏显示(如果需要)要看到它,只需在UIWindow中将clipsToBounds设置为YES;有助于理解)。

要确保窗口在从.xib加载时获得全屏界限,在Windows的XCode属性中有一个名为“全屏启动”的选项。请注意,这与UIWindow的公共API属性不对应,因此在浏览UIWindows类文档时很容易被忽略。

但是,在“查看编程指南for iOS”,“Windows”部分,“在界面生成器中创建Windows”下的一个标有“重要”的特殊框中突出显示了此内容...

答案 1 :(得分:0)

好的,所以我想出了问题所在。

这是UIWindow的维度。我混淆了宽度和高度(我以编程方式创建UIWindow,只是为了清楚)。由于我将子视图的尺寸设置为正确,因此它们显示正确,但无法获得触摸事件,而下方没有窗口。为了安全起见,我从现在开始使用它:

    window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] applicationFrame]];