假设是否已将 2 个小的 UIView 添加到视图中。然后将第 3 个 UIView 添加到顶部,如何确定第 3 个 UIView 是否会与前 2 个 UIView 重叠?
问问题
35 次
1 回答
0
您可以在 UIView 子类(容器)上编写一个方法,该方法很容易为您计算:
-(NSArray*)getOverlappingViewsForSubview:(UIView*)mySubview {
NSMutableArray* overlappedSubviews = [[[NSMutableArray alloc] init] autorelease];
for(UIView* someSubview in self.subviews) {
if(CGRectIntersectsRect(mySubview.frame, someSubview.frame)) {
[overlappedSubviews addObject:someSubview];
}
}
return overlappedSubviews;
}
类似的东西应该可以工作 - 如果您只需要知道有多少视图相交(或重写该方法以返回计数而不是相交视图的数组),则可以对该方法的结果调用 count 。
于 2012-10-06T05:47:12.377 回答