【问题标题】:What the most useful Core Graphics (CGrect) functions?最有用的核心图形(CGrect)功能是什么?
【发布时间】:2012-11-29 07:08:15
【问题描述】:

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

【问题讨论】:

    标签: cgrectmake


    【解决方案1】:

    有用的核心图形函数

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

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

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

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

    CGRect CGRectIntersection ( CGRect r1, CGRect r2 );:这也有两个参数,都是 CGRects,同样以任意顺序。它返回一个 CGRect 结构,它是两个 CGRect 的实际交集。如您所料,有一个 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

    【讨论】:

    • 还有:NSLog(@"rect: %@", NSStringFromCGRect(rect));
    猜你喜欢
    • 2016-05-21
    • 1970-01-01
    • 2020-09-11
    • 2017-06-22
    • 1970-01-01
    • 1970-01-01
    • 2018-01-05
    • 1970-01-01
    • 2011-02-07
    相关资源
    最近更新 更多