0

以下のコードは次のように実行します。

  • 画面の幅と高さを検出
  • 画面の寸法をUIImageView
  • の位置UIImageViewを 0,0に設定します

コード (で実行中viewDidLoad):

NSUInteger widthOfScreen = [UIScreen mainScreen].bounds.size.width;
NSUInteger heightOfScreen = [UIScreen mainScreen].bounds.size.height;
self.background.frame = CGRectMake(0, 0, widthOfScreen, heightOfScreen);

これは、iPhone 6 のシミュレーターでテストされています。

コードが実行されると、デバッガーは画面のサイズを示し、UIImageView正しい 337x568 です (正しいNSLogステートメントを実装した場合)。ただし、シミュレーターはUIImageView、画面に適切に収まらない を表示します。(大きすぎます)。どうすればこれを機能させることができますか?

で表示されている画像の元のサイズUIImageViewは 768x1408 であることに注意してください。

4

3 に答える 3

0

おそらく、画像が大きすぎて、親ビューにクリッピングされていないことが原因です。UIImageView に合わせて最初に画像をクリッピングしてみてください。

self.view.clipsToBounds = YES.

これについては、こちらから参照できます: UIView サブビューが親内でレンダリングされないのはなぜですか? (コード添付)

また、いくつかのヒントとして、UIImageView の背景色を赤などに変更して、ビューがどのようにパンアウトするかを明確に確認できるようにしてください。

于 2014-12-23T02:34:16.283 に答える
0

まず、viewWillLayoutSubviewsVC 内にコードをプッシュする必要があります。問題が解決しない場合は、contentModeを確認し、画像が大きすぎる場合はまたはimageViewに変更してください。UIViewContentModeScaleToFillUIViewContentModeScaleAspectFit

于 2014-12-23T03:17:46.337 に答える