1

好的,除了明显的尺寸差异之外,我认为我的代码中可能存在逻辑错误导致这种不一致。

self.view.bounds.size.height用来确定屏幕的底部边缘,这就是不一致的地方。

供参考,loadingView始终是一致的大小。

if (loading==TRUE) {
        [UIView animateWithDuration:0.25 animations:^{
            [loadingView setFrame:CGRectMake(loadingView.frame.origin.x, self.view.bounds.size.height-loadingView.frame.size.height, loadingView.frame.size.width, loadingView.frame.size.height)];
        }];
    } else {
        [UIView animateWithDuration:0.25 animations:^{
            [loadingView setFrame:CGRectMake(loadingView.frame.origin.x, self.view.bounds.size.height+loadingView.frame.size.height, loadingView.frame.size.width, loadingView.frame.size.height)];
        }];
    }

我运行上述函数以在屏幕底部显示和隐藏“页面加载”通知。

这是我的问题:

iPad(正确):
在此处输入图像描述

iPhone(不正确):
在此处输入图像描述

现在,显然这里存在高度差异,我不确定为什么它只出现在 iPhone 上而不出现在 iPad 上。

我正在尝试使我的应用程序通用,显然,我不希望在我的代码中进行大量设备检查。必须有一种更优雅的方法来确定设备的底部边缘。

4

1 回答 1

2

请确保它self.view适合整个屏幕。(在 IB 中仔细检查您的自动调整大小蒙版等。)

于 2013-03-26T14:52:04.060 回答