ビューに 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 に答える