检查UIImageView的位置
我需要做一个条件检查,看看我的一个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