7

だから私はかなり複雑なプロジェクトを持っています。私はオブジェクトを構築するためにインターフェイスビルダーとxcodeの両方を直接使用しています。現在、UIScrollViewは必要な場所にIBで構築されており、UIButtonはそれらのスクロールビューの上に構築されています。同じ場所にいくつかのスクロールビューがありますが、それは実際には大きな違いにはならないはずです。

とにかく、問題はそれがiPhone 4で完全に機能することです。しかし、iPhone 5でビルドすると、スクロールビューが画面の下部に移動します。以前はx = 0、y=361でした。他のすべてのオブジェクトは正しく配置されており、その下に空きスペースがあります。私はiPhone5をチェックする方法を知っています:

ここに色などを使ってコードを投稿する方法がわかりません。非常に複雑になるため、if/thenを実行する方法は次のとおりです。

    if(UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPhone){
        CGSize result = [[UIScreen mainScreen] bounds].size;
        if(result.height == 480){
            // iPhone Classic
        }
        if(result.height == 568){
            // iPhone 5
        }
    }

IBでif/thenを実行する方法がわかりません。この方法で場所を手動で変更してみました。

[peopleScrollView scrollRectToVisible:CGRectMake(0, 449, 320, 58) animated:NO];

それはうまくいきませんでした。だから、私が求めているのは、コード自体のUIScrollViewの場所を変更する方法はありますか?そうでない場合は、5つのUIScrollViewをすべてコードで手動でビルドする必要があると思いますが、これは絶対にやりたくないことです。

4

1 に答える 1

13

スクロールビューオブジェクトを選択し、[サイズインスペクター]モジュールをクリックすると、デフォルトの自動サイズマスクが[左]、[上]に設定されていることがわかります。

左上の自動サイズ設定/オフセットマスク

ビューの[モード]オプションとビューの[サブビューの自動サイズ変更]オプションに応じて、このビューとサブビューは、3.5インチ画面と比較して4インチ画面で下にシフトされます。

あなたの特定のビューが各画面で何を見るべきかに応じて、あなた次第です。私のプロジェクトでは、自動サイズ変更マスクを左、上、下に調整します。

左上-下オートマスク/オフセットUIScrollViewとサブビューを3.5"と4"の画面の上部(IBで描画)に残したいので。

オートサイズグラフィックのボックス内に垂直および/または水平のサイズ変更矢印を設定することもできます

垂直および水平オートサイズマスク。これにより、動的なサイズの画面に応じてオブジェクトが拡大縮小されます。

Autosize Maskは、iPhone5の新しい親友になるはずです。

XcodeInterfaceBuilderを参照してください。これらの自動サイズ変更マスク設定はどのように異なりますか?詳細については。

于 2012-10-01T04:40:46.533 に答える