0

新しいXcodeで新しいプロジェクトを開始しましたが、デフォルトのメインウィンドウが320x548に設定されていることがわかります。私はそれで問題ありませんが、アプリをテストすると、メインのxibに追加したビュー(280x280であるはずです)は、3.5インチデバイスでテストすると280x200のように見えます。

xibでそのビューの設定を変更しようとしましたが、何も影響がないようです。

古いデバイスでビューが同じサイズになるように、バックグラウンドの互換性を確保するにはどうすればよいですか?

アップデート:

プログラムでビューを追加すると、すべて正常に機能しますが、コントローラーのアウトレットを介してビューを追加すると、すべてが押しつぶされます。ビューを(プログラムで)強制的に280x280にしようとしましたが、ビューのコンテンツが歪むだけです。280x192になりたいだけです...

私は何か間違ったことをしているに違いありませんが、何が起こっているのかわかりません。

4

2 に答える 2

2

私は最近同じ問題を抱えていましたが、幸いなことに解決策を見つけました。シンプルなボタンを含むシンプルなアプリケーションを作成しました。サイズを10pxのマージンで設定したいと思いました。self.view.boundsは、xibの実際のサイズで返されます。たとえば、iPhone4 retinaに設定されていて、別のiPhoneバージョンでテストすると、誤った値が返されます。[[UIScreenmainScreen]境界]を使用します; 代わりに、ステータスバーの高さを減算します([[UIApplication sharedApplication] statusBarFrame] .size.height)。最終的なものは次のようになります。

CGRect frame = [[UIScreen mainScreen] bounds];
frame.origin.x = 10;
frame.origin.y = 10;
frame.size.width -= 20;
frame.size.height -= (20 + [[UIApplication sharedApplication] statusBarFrame].size.height);

button.frame = frame;

すべてのデバイスタイプでテストしましたが、正常に機能しました。

(明らかに、「自動レイアウトの使用」がチェックされていない場合にのみ機能します)

お役に立てれば。

于 2012-11-20T21:45:34.103 に答える
1

.xibファイルのビューに設定した自動サイズ設定の制約を確認する必要があるようです。ビューを固定サイズに制限できます。

于 2012-10-07T15:39:56.937 に答える