我有一个 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/