最有用的核心图形(CGrect)功能是什么?

时间:2012-11-29 07:08:15

标签: cgrectmake

我通常对我的所有代码使用 CGRectMake 方法。还有其他有用的方法吗?

1 个答案:

答案 0 :(得分:4)

有用的核心图形功能

NSLog(@"%@", CGRectCreateDictionaryRepresentation(rect));: 在NSLog中打印CGRect

bool CGRectContainsPoint ( CGRect rect, CGPoint point );: 您可以使用此函数来确定触摸事件是否属于屏幕区域集,如果您使用的是不基于单独UIViews的几何元素,则可以非常方便。

bool CGRectContainsRect ( CGRect rect1, CGRect rect2 );: 该函数有两个参数。第一个矩形始终是周围的项目。第二个参数要么完全落在第一个参数内,要么没有。

bool CGRectIntersectsRect ( CGRect rect1, CGRect rect2 );: 如果要查看两个UIView是否重叠,请改用CGRectIntersects。这将以任何顺序采用两个矩形,并检查这两个矩形是否有任何交点。

CGRect CGRectIntersection ( CGRect r1, CGRect r2 );:这也有两个参数,都是CGRects,再次以任何顺序。它返回一个CGRect结构,它是两个CGRects的实际交集。正如您所期望的那样,CGRectUnion会返回相反的函数。当您不仅要测试交集并使用落在两个视图之间的实际矩形时,CGRectIntersection也很方便。

CGRect testRect = CGRectIntersection(rect1, rect2);if (CGRectIsNull(testRect)) ...some result...

CGRect CGRectOffset ( CGRect rect, CGFloat dx, CGFloat dy );: 当您想要在屏幕上移动视图时,CGRectOffset功能会派上用场。它返回一个已被(dx,dy)偏移的矩形,提供从一个点到新点的简单转换。您不必开始计算新的中心或框架,只需将框架更新为新的偏移。

CGRect CGRectInset ( CGRect rect, CGFloat dx, CGFloat dy );: CGRectInset可能是我最喜欢的Core Graphics rect实用程序。它允许您以编程方式扩展或收缩矩形。你传递一个偏移对,让函数相应地调整矩形。该函数将宽度插入dx,产生两倍dx的差异,因为插入应用于左侧和右侧。高度由dy插入,总差异为两次dy。

希望你喜欢它。

Reference: what-the-most-useful-core-graphics-cgrect-functions