我希望确保一个CGSize小于或等于另一个CGSize。像这样:
CGSize firstSize = CGSizeMake(1.0,1.0);
CGSize secondSize = CGSizeMake(5.0,3.0);
if(firstSize <= secondSize){
Do Stuff . . .
}我该如何比较这个呢?
发布于 2012-06-20 03:05:37
在不旋转的情况下确定firstSize是否适合secondSize:
if(firstSize.width <= secondSize.width && firstSize.height <= secondSize.height)发布于 2012-12-05 21:35:04
要检查等价性,可以使用Apple的CGSizeEqualToSize函数。
CGSize firstSize = CGSizeMake(1.0,1.0);
CGSize secondSize = CGSizeMake(5.0,3.0);
if(CGSizeEqualToSize(firstSize, secondSize)) {
//they are equal
}else{
//they aren't equal
}发布于 2014-12-03 16:38:08
以下函数确定第一个参数中的CGSize的矩形是否完全适合第二个参数中的CGSize的矩形范围。
- (BOOL)size:(CGSize)smallerSize isSmallerThanOrEqualToSize:(CGSize)largerSize {
return CGRectContainsRect(
CGRectMake(0.0f, 0.0f, largerSize.width, largerSize.height),
CGRectMake(0.0f, 0.0f, smallerSize.width, smallerSize.height)
);
}您可以使用内置的内联助手函数,其名称是描述性的,而不是自己编写难以阅读的条件语句的完整逻辑。
虽然我还没有做过研究,但这个方法的执行速度可能比公认的答案慢,因为它涉及到将两个CGSizes转换为两个CGRects C结构。尽管它确实有更快被读者理解的优点。
https://stackoverflow.com/questions/11107617
复制相似问题