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 に答える