我需要做一個條件檢查,看看我的一個imageView是否最終離開了屏幕。換句話說,我希望有人可以幫助我設置if語句來查看我的imageView在屏幕上的位置檢查UIImageView的位置
if previewImageView......... (something here)
謝謝!
我需要做一個條件檢查,看看我的一個imageView是否最終離開了屏幕。換句話說,我希望有人可以幫助我設置if語句來查看我的imageView在屏幕上的位置檢查UIImageView的位置
if previewImageView......... (something here)
謝謝!
您可以檢查您的視圖的frame
的兩個軸min
和max
值大於你的ViewController
小號view
相同性質的大/小。
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")
}
嘿戴夫!謝謝您的幫助!這一切都是有道理的,我唯一的問題是第一個問題是當我衝入self.view時,我的Xcode給了我一個語法錯誤,所以我無法獲得整個視圖的寬度。你認爲這是因爲我在UIView的子類而不是UIViewController? – benjamin852
是的,這就是爲什麼。你只需要將'superview'的名稱替換爲'self.view'。 –
完美謝謝! – benjamin852
if (yourImageView.frame.maxX > self.view.frame.size.width){
//will enter if image not all inside the screen
}
請注意,您可以將self.view更改爲圖像所在的任何父級。
希望這會有所幫助!
如果(yourImageView.frame.maxX> self.view.frame。 size.width){} –
我想我很好奇爲什麼你需要知道這一點。 (1)如果你需要一個滾動條,需要考慮一個'UIScrollView'? (2)如果您擔心在屏幕上放置圖像,請考慮使用正確的「contentMode」? (3)您是否面臨某種可以使用自動佈局輕鬆解決的佈局問題?事實是,(a)找出圖像視圖是否在屏幕上有很多*選擇,(b)最重要的是,你沒有向我們展示任何其他細節的代碼。 – dfd