2017-08-01 13 views
-1

私のimageViewのいずれかが画面から外れているかどうかを確認する必要があります。言い換えれば、私は、誰かが私が私のImageViewのがUIImageViewの場所を確認してください

if previewImageView......... (something here) 

サンキュー画面上で場所を確認するif文を設定する助けることができる期待していました!

+0

(yourImageView.frame.maxX> self.view.frame場合。 size.width){} –

+0

私はあなたがなぜこれを知る必要があるのか​​不思議だと思います。 (1)必要に応じてスクロールバーが必要な場合は、 'UIScrollView'を検討してください。 (2)画面に画像が収まるのを心配している場合は、正しい 'contentMode'を使用することを検討してください。 (3)自動レイアウトを使って簡単に解決できるレイアウト問題に直面していますか?真実は、(a)画像ビューがスクリーン上にあるかどうかを知ること、(b)大事にも、他の特質のコードをわれわれに示したことである。 – dfd

答えて

0

両方の軸上のビューのframeminmax値は、あなたのViewControllerviewの同じ性質よりも大きい/小さいかどうかを確認できます。

if imageView.frame.maxX > self.view.frame.size.width { 
    print("Image goes out of screen on the right") 
} else if imageView.frame.minX < 0 { 
    print("Image goes out of screen on the left") 
} else if imageView.frame.maxY > self.view.frame.size.height { 
    print("Image goes out of screen on the top") 
} else if imageView.frame.minY < 0 { 
    print("Image goes out of screen at the bottom") 
} 

あなたはそれが視野の外に出ている方向を気にしない場合は、あなたが一つにすべての文をマージすることができますが:

if imageView.frame.maxX > self.view.frame.size.width || imageView.frame.minX < 0 || imageView.frame.maxY > self.view.frame.size.height || imageView.frame.minY < 0 { 
     print("Image out of bounds") 
    } 
+0

こんにちはデイブ!助けてくれてありがとう!これはすべて意味があり、私の唯一の問題はself.viewをパンチするときに私のXcodeが私に構文エラーを与える最初の問題だから、ビュー全体の幅を取得できません。 UIViewControllerではなくUIViewのサブクラスで作業していると思いますか? – benjamin852

+0

はい、それが理由です。 'self.view'の代わりに' superview'の名前をつけるだけです。 –

+1

ありがとうございます! – benjamin852

0
if (yourImageView.frame.maxX > self.view.frame.size.width){ 
     //will enter if image not all inside the screen 
    } 

self.viewは、画像の親となるものに変更できます。

希望すると便利です。

関連する問題