【问题标题】:UIButton not responding near the bottom of the screen on iPadUIButton 在 iPad 屏幕底部附近没有响应
【发布时间】:2011-06-27 04:25:56
【问题描述】:

当 UIButton 位于 iPad 屏幕底部附近(靠近主页按钮)时,它不会响应任何触摸。它启用了触摸并且正在接收事件,但从未对目标设置任何响应。我检查了视图层次结构,它肯定在顶部。它没有被菜单栏覆盖。

这只发生在 iPad 上,而且只有在底部时,我对 iPhone 没有问题,两种设备的代码相同?

有人知道会发生什么吗?

【问题讨论】:

    标签: ipad ios uikit uibutton


    【解决方案1】:

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

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

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

    但是,在“View Programming Guide for iOS”的“Windows”部分,在“在 Interface Builder 中创建 Windows”下标有“Important”的特殊框中突出显示了这一点...

    【讨论】:

      【解决方案2】:

      好的,所以我弄清楚了问题所在。

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

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2023-03-30
        • 2019-05-08
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多