0

iPhone 5の画面で実行するようにアプリを更新しています(古い画面サイズのレイアウトも維持しています)。

ビューコントローラのメインビューを含むxibファイルがあり、サブビューとして水平スクロールビューが含まれています。このスクロールビューの高さは、iPhone5画面で垂直方向に引き伸ばされます。

また、スクロールビューに追加されるxib(スクロールビューのページとして使用される)に3つのビューがあります。一番上のビューのすべての支柱とスプリングをオンに設定しました。これらのビュー内のサブビューのすべての支柱とスプリングをオフに設定しました。

私の問題は、サブビューがiPhone5の画面に正しく配置されないことです。具体的には、下部に移動するビューの上部近くに配置する必要がある画像ビューがあります(他のサブビューの下にあり、それらがまったく重なっていない場合)。イメージビューでトップストラットをオンに設定すると、ビューの上部に留まりますが、ビューの高さの変化に比例して下に移動する必要があります。

ビューコントローラのviewDidLoadで、次のようにページをスクロールビューに追加します。

_pageOne.frame = CGRectMake(0, 0, _scrollView.bounds.size.width, _scrollView.bounds.size.height);
[_scrollView addSubview:_pageOne];

_pageTwo.frame = CGRectMake(320, 0, _scrollView.bounds.size.width, _scrollView.bounds.size.height);
[_scrollView addSubview:_pageTwo];

_pageThree.frame = CGRectMake(640, 0, _scrollView.bounds.size.width, _scrollView.bounds.size.height);
[_scrollView addSubview:_pageThree];

ビューは、古い画面の高さのxibに設定されます。デバッガーで、viewDidLoadでスクロールビューが既に引き伸ばされていることを確認しました。

サブビューを正しく再配置するにはどうすればよいですか?


(回答へのコメントへの移動された応答)

4

1 に答える 1

0

画像ビューの上部と下部のストラットを設定し、垂直スプリングをオンにして、画像ビューの contentMode を UIViewContentModeCenter に設定することで、実際に問題を解決しました。

しかし、これが私のビューの設定方法です。

ここに画像の説明を入力

iPhone 5での結果がこちら。

ここに画像の説明を入力

自分の画像ビューがビューの一番上にあることに気づきませんでした。画像ビューを少し下に移動して、すべてのストラットとスプリングをオフにすると、すべてが期待どおりに動作し始めました。

ここに画像の説明を入力 ここに画像の説明を入力

于 2012-10-14T14:55:02.243 に答える