为什么 NSShadow 和 CALayer 的 shadowOffset 是通过 CGSize 类型而不是 CGPoint 类型来表达的

Why NSShadow's and CALayer's shadowOffset expressed via CGSize type and not CGPoint type

我想知道在 NSShadowCALayershadowOffset 背后是否有历史推理 (或任何推理) 通过CGSize 类型而不是 CGPoint 类型?

我认为,根据其含义,“阴影偏移”是一个向量,指向与 layer.frame.origin(或 layer.bounds.origin)相关的阴影原点。所以它似乎更方便 CGPoint 而不是 CGSize.

提前致谢!

一个点是坐标 space 中的一个位置。大小描述了 x&y 维度中的距离。

如果您将 CGPoint 用于 shadowOffset,则它需要是一个相对于其他点的点。什么点?阴影路径的中心?起源?是边界,还是框架?

偏移量是二维的量。一个点就是一个位置。对于 shadowOffset 使用 CGSize 对我来说非常有意义,使用点 没有意义。