我有一个CGPoints的NSArray。
我实际上想获得包含该数组中所有CGPoint的最小CGRect。
已经有任何iOS功能可以执行此操作吗?
否则,我将必须手动获取minX, maxX, minY, maxY
,并以这种方式构造CGRect:
CGrectMake(minX, minY, maxX-minX, maxY-minY);
为此,我需要使用NSPredicate过滤NSArray。
(我知道,我可以手动过滤数组,但是来吧!...)
最佳答案
没有任何公共API可以满足您的要求。您必须自己编写。
无论如何,它不适用于NSPredicate
。谓词用于过滤值,而不用于构造新值。
CGRect boundsOfPointArray(NSArray *array) {
CGRect bounds = CGRectNull;
for (NSValue *wrapper in array) {
CGRect r = (CGRect){ wrapper.CGPointValue, CGSizeZero };
bounds = CGRectUnion(bounds, r);
}
}
关于ios - CGPoints NSArray上的NSPredicate,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/13956890/