根据 Apple 文档,
CGRectMinY(CGRect) rect 返回指定矩形右上角的y坐标
它不应该是矩形的左下角吗?因为我认为Y轴是向下的。
如果这适用于 iOS,我认为您的功能是错误的。
CGRectGetMinY
返回建立矩形底部边缘的 y 坐标。
CGFloat CGRectGetMinY ( CGRect 矩形 );
参数
矩形
The rectangle to examine.
返回值
指定矩形左下角的 y 坐标。可用性
Available in iOS 2.0 and later.
相关示例代码
HeadsUpUI oalTouch PhotoScroller QuartzDemo SpeakHere
在 CGGeometry.h 中声明
编辑:清除混乱。"CGRectGetMinY" 是一个用于 CGRect 的函数,这意味着它将返回结果,就好像它只考虑一个矩形一样。例如:
// With a self created element
CGRect rect = CGRectMake(0, 429, 100, 44);
NSLog(@"rect.origin.y: %f",rect.origin.y);
NSLog(@"rect.size.height: %f",rect.size.height);
NSLog(@"CGRectGetMinY(rect): %f",CGRectGetMinY(rect));
NSLog(@"CGRectGetMaxY(rect): %f",CGRectGetMaxY(rect));
返回
2012-06-04 10:55:49.737 test[7613:707] rect.origin.y: 429.000000
2012-06-04 10:55:49.739 test[7613:707] rect.size.height: 44.000000
2012-06-04 10:55:49.741 test[7613:707] CGRectGetMinY(rect): 429.000000
2012-06-04 10:55:49.748 test[7613:707] CGRectGetMaxY(rect): 473.000000
关键是要考虑这一点,如果你要求最小值,你会得到比你要求最大值更低的值。即使您在不使用 ios 坐标系的情况下考虑这一点。
现在ios是倒置的,所以你要考虑这一点,以前的功能也可以,但是从视觉上讲结果是倒置的,因为系统是倒置的。
// With an element on the screen
NSLog(@"gpsButton.frame.origin.y: %f",gpsButton.frame.origin.y);
NSLog(@"gpsButton.frame.size.height: %f",gpsButton.frame.size.height);
NSLog(@"CGRectGetMinY(gpsButton.frame): %f",CGRectGetMinY(gpsButton.frame));
NSLog(@"CGRectGetMaxY(gpsButton.frame): %f",CGRectGetMaxY(gpsButton.frame));
返回
2012-06-04 10:55:49.725 test[7613:707] gpsButton.frame.origin.y: 429.000000
2012-06-04 10:55:49.727 test[7613:707] gpsButton.frame.size.height: 44.000000
2012-06-04 10:55:49.732 test[7613:707] CGRectGetMinY(gpsButton.frame): 429.000000
2012-06-04 10:55:49.735 test[7613:707] CGRectGetMaxY(gpsButton.frame): 473.000000
对于看到这一点的人来说,也没有错,min小于max。
所以混乱出现在 ios 倒置系统中,因为您想从倒置系统中检索视觉上较少的值。
这就是为什么看起来很奇怪,CGGeometry 中的描述是针对“人类世界”的。不适用于 ios 倒置系统。
Y 轴确实指向下方,从视图的左上角开始。所以较小的 y 值更接近视图的顶部。