2016-07-21 17 views
2

私はUIViewを持っていますが、特定のチャプターが要求している場合はムービーを表示します。このビューのサイズは、Main.storyboardという制約を介してiPhoneに合わせて変更されます。すべてがiPad上でうまく動作します。また、チャプターを含むムービーが最後にアクティブだったときにリロードするように要求されない限り、iPhone上で正常に動作します。ムービーが最初に読み込まれることを意味します。このシナリオでは、ムービーは小さなiPhone仕様ではなくiPadの寸法に読み込まれます。制約適用のタイミング

ムービーのビューの制約がタイムリーに行われていないようです。問題は、ビューの境界のクエリに基づいています。境界を使用する前に遅延を挿入すると、問題はなくなります。実際、0.0秒の遅れが仕事をしています!

遅延に依存するクルーギーを使用することは、私にとってかなりファンキーなようです。また、境界を使用する呼び出しをviewDidLoadに移動して問題を解決することもできますが、アプリケーションを再読み込みすると、一見「効果がない」起動イメージが表示されます。助言がありますか?

+1

ビューが間違っている前に 'bounds'を使っているようです。あなたのコードを実際に見ることなく、あなたの記述したコードを 'viewDidLayoutSubViews'の中で実行することを提案します。 – ZGski

+0

ありがとう!私はこれを使うのに決して頼りにしていませんでした。それはここで必要とされているようです。 – bpedit

+0

私はそれを正式に解決することができるように答えを出します。 – ZGski

答えて

1

あなたの意見が間違っていないうちにboundsを使用しているようです。実際にあなたのコードを見ることなく、viewDidLayoutSubViews()のあなたの記述されたコードを実行することをお勧めします。

関連する問題