ios - UIImageView 完全包含另一个 ImageView

标签 ios uiimageview

我有一个 ImageView ,它是一个较大 ImageView 的 subview 。 subview 可以在较大的 ImageView 周围移动,但我希望能够检测到大 View 的边缘,以便 subview 不能移出它,但我不确定如何完成它。

最佳答案

在更新 subview 的框架时(顺便说一句,它不一定是 subview ,但下面的坐标逻辑假定​​如此),检查约束

CGRect intersection = CGRectIntersection(subview.frame, superview.bounds);
BOOL fullyContained = CGSizeEqualToSize(intersection.size, subview.size);

更简洁,正如@ZevEisenberg 所建议的那样:

BOOL fullyContained = CGRectContainsRect(subview.frame, superview.bounds);

如果两个 View 都属于同一个父 View ,只要视觉包含的 View 堆叠在顶部(出现在父 View 的 subview 数组中较大的 ImageView 之后)就可以了,那么就更容易了:

BOOL fullyContained = CGRectContainsRect(subview.frame, superview.frame);

关于ios - UIImageView 完全包含另一个 ImageView ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23367290/

相关文章:

ios - 有什么方法可以在运行时按 UITableView 中的属性对项目进行分组?

objective-c - 如何显示相机但不让用户拍照?

ios - Swift - JSON 写入中的顶级类型无效

ios - 使用图层蒙版使部分 UIView 透明?

ios8 - UIAlertController 错误更改其他 UIImageViews 的 tintcolor

ios - 多个 UIImage View

ios - 关键字 "device"在Metal Shading Language中是什么意思

ios - 缩放任何图像以适应 UIImageView

objective-c - 如何创建动态的UIImageView

ios - 如何在项目中添加自定义 iOS 框架的引用(而不是复制)