代码之家  ›  专栏  ›  技术社区  ›  nevan king

CGRECT和NSRECT有什么区别吗?

  •  23
  • nevan king  · 技术社区  · 15 年前

    A和A之间有什么区别吗 CGRect 和一个 NSRect ?特别是,我想知道原点的位置。我需要知道有什么重要的区别吗?

    2 回复  |  直到 10 年前
        1
  •  19
  •   Jonas Due Vesterheden    10 年前

    它们是一样的。 This link 有更多信息。复制到此处以供快速参考:

    CGRect 核心图形是否等同于 NSRect .

    它们被故意设计成在内存中具有相同的布局。因此,允许将 纳斯克里特 到A CGRACT 这样做:

    CGRect cgrect = *(CGRect *)&nsrect;
    

    Coregraphics还提供 CGRectMake() 工作原理与 NSMakeRect() (注意名称中动词和对象的倒转),但它返回 CGRACT .

        2
  •  4
  •   Peter Hosey    15 年前

    特别是,我想知道原点的位置。

    这取决于你在哪里找到校长以及你在哪里使用它。一般来说,核心图形和uikit使用翻转坐标(原点左上,正y向下),而appkit使用不翻转坐标(原点左下,正y向上)。但是可以从每个API中翻转或取消折叠坐标,并且一些类(如nsimage和nsview)可以非常容易地做到这一点。