我有一个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/

10-15 15:20