好的,除了明显的尺寸差异之外,我认为我的代码中可能存在逻辑错误导致这种不一致。
我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 上。
我正在尝试使我的应用程序通用,显然,我不希望在我的代码中进行大量设备检查。必须有一种更优雅的方法来确定设备的底部边缘。