0
假設是否有2個小UIViews被添加到視圖中。 然後第三個UIView將被添加到頂端,我如何確定第三個UIView是否會重疊前兩個UIViews?iOS確定它會重疊多少個子UIViews
假設是否有2個小UIViews被添加到視圖中。 然後第三個UIView將被添加到頂端,我如何確定第三個UIView是否會重疊前兩個UIViews?iOS確定它會重疊多少個子UIViews
你可以寫上你的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;
}
類似的東西應該工作 - 你可以調用該方法,如果結果計數您只需要知道多少個視圖相交(或者重寫該方法以返回一個計數而不是相交視圖的數組)。
比較幀。 – aroth
'CGRectIntersectRect'' BOOL' –
它下面有多少個子UIView會重疊?任何會返回一個整數的幫助函數都會指示它會重疊多少個UIViews? –