0

4.0.1 でスムーズに動作するアプリケーションを 4.2.1 で実行しようとすると、画面が 20% 左に移動するなど、画面が歪んでいました。iOS 4.0.1 と 4.2.1 がインストールされている電話は 2 つの異なる電話です。何が問題なのですか?

サブビューとして追加した場所で、この問題が発生していることを確認しました。

ありがとう、サティシュ

4

1 に答える 1

0

view.autoresizingMaskあなたの説明から、正しい設定を適切に行っていないか、ビューのレイアウト方法に微妙な変化があると思います。

明示的に移動したビューのフレームを設定して、何が起こるかを確認してください。

[view setFrame:CGRectMake(0, 0, 320, 460)]

関連するコードやスクリーンショットの一部は間違いなく役立ちます。また、それは UIKit アプリケーションですか、それとも Cocos2D ゲームですか?


編集:コード (または簡略化されたサンプル バージョン) を提供できないため、私が使用しているコードをいくつか掲載します。

通常、親ビューを「埋める」ためにサブビューを追加するときは、次のことを行いました。

UIView *parent = nil; // find parent view
UIView *child = nil; // child view to add to parent

[parent addSubview:child];

CGRect frame = [parent frame];
frame.origin.x = 0;
frame.origin.y = 0;
[child setFrame:frame];

それでもうまくいかない場合は、問題が別の場所にある可能性があると思います (つまりlayoutSubviews、何らかの理由で上書きされたことがありますか? または、電話がジェイルブレイクされたのでしょうか?)

UIKit のバグではないかと思いますが、完全に可能です。

于 2012-04-06T10:56:13.060 に答える