iOS oc判断两个UI控件是否有重叠
1个回答
2017-05-25
展开全部
//两个控件都是在self.view上以(0.0)为原点
UIView*view1 = [[UIViewalloc]initWithFrame:CGRectMake(0,0,100,100)];
view1.backgroundColor= [UIColoryellowColor];
self.yellowView= view1;
[self.viewaddSubview:view1];
UIView*view2 = [[UIViewalloc]initWithFrame:CGRectMake(0,180,100,100)];
view2.backgroundColor= [UIColorredColor];
self.redView= view2;
[self.viewaddSubview:view2];
//判断两个控件是否有交互:(前提是在同一个父控件上面)
BOOLisMutul =CGRectIntersectsRect(self.whiteLabel.frame,self.blackLabel.frame);
//NSLog(@"isMutul---%d",isMutul); 有交互返回1 没重叠 返回0
// 2 第二种情况 两个控件不在同一个父控件上面 这时我们就需要把这两个父控件转换为以当前主窗口为坐标原点 判断白色按钮和黑色按钮是否有重叠(黑色label在黄色view上 白色label在红色view上面)
UIView*view1 = [[UIViewalloc]initWithFrame:CGRectMake(0,0,100,100)];
view1.backgroundColor= [UIColoryellowColor];
self.yellowView= view1;
[self.viewaddSubview:view1];
UIView*view2 = [[UIViewalloc]initWithFrame:CGRectMake(0,180,100,100)];
view2.backgroundColor= [UIColorredColor];
self.redView= view2;
[self.viewaddSubview:view2];
//判断两个控件是否有交互:(前提是在同一个父控件上面)
BOOLisMutul =CGRectIntersectsRect(self.whiteLabel.frame,self.blackLabel.frame);
//NSLog(@"isMutul---%d",isMutul); 有交互返回1 没重叠 返回0
// 2 第二种情况 两个控件不在同一个父控件上面 这时我们就需要把这两个父控件转换为以当前主窗口为坐标原点 判断白色按钮和黑色按钮是否有重叠(黑色label在黄色view上 白色label在红色view上面)
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询