我有一个 CGPoints 的 NSArray。
我实际上想要获得包含该数组中所有 CGPoint 的最小 CGRect。 是否已经有任何 iOS 功能可以执行此操作?
否则,我将不得不手动获取 minX、maxX、minY、maxY
,并以这种方式构建我的 CGRect:
CGrectMake(minX, minY, maxX-minX, maxY-minY);
为此,我需要使用 NSPredicate 过滤 NSArray。
(我知道,我可以手动过滤数组,但是拜托!...)
最佳答案
没有公共(public) 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 - NSPredicate 在 CGPoints 的 NSArray 上,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13956890/