IOS 中怎么判断一个区域能否被别的区域完全遮罩

iOS 码拜 8年前 (2016-03-21) 1160次浏览
有3个区域,假如第一个在最下面,那么怎么判断它能否被其他两个区域完全遮住呢?

//第一个区域
CGRect currentRect = CGRectMake(0, 0, 256, 128);
//假如第二个或第三个区域是这样的
//CGRect rect = CGRectMake(0, 0, 256, 128); //大于或等于第一个区域
//那么可以通过CGRectContainsRect(rect, currentRect)判断第一个区域能否在第二区域中
//但是,假如第二区域只遮住了第一区域的一部分,而第三个区域遮住第一个区域剩余的部分的话,应该怎么判断呢
//相似这样
CGRect rect2 = CGRectMake(0, 0, 100, 128);
CGRect rect3 = CGRectMake(100, 0, 156, 128);
解决方案

20

不知道你具体想判断什么,假如明确要判断区域的话,CGRectContainsRect假如不能满足你的要求,那估计你只能本人通过rect的各个值去比较判断了
假如你要判断一个视图能否包含在父视图里可以用这个方法
if ([aView isDescendantOfView:subview]) {
//do something…
}

20

建议把第二个和第三个区域合成一个最小的包含这两个区域的rect,然后再去判断

CodeBye 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权 , 转载请注明IOS 中怎么判断一个区域能否被别的区域完全遮罩
喜欢 (0)
[1034331897@qq.com]
分享 (0)