有没有一种简单的方法可以在 UIImageView 的锚点上放置标记(例如十字)?我正在尝试通过它们的锚点排列几个旋转图像,并且能够看到这些点将使工作变得更容易。
非常感谢。
有没有一种简单的方法可以在 UIImageView 的锚点上放置标记(例如十字)?我正在尝试通过它们的锚点排列几个旋转图像,并且能够看到这些点将使工作变得更容易。
非常感谢。
您正在询问如何在视图中可视化锚点,但在我看来,您正在要求它,以便您可以帮助对齐锚点。我会尝试回答这两个问题。
iOS 上的每个视图都有一个具有锚点的底层。锚点位于层的单位坐标空间中(x 和 y 从 0 到 1)。这意味着您可以将 x 乘以宽度,将 y 乘以高度,以获得视图/图层坐标空间中图层内锚点的位置。然后,您可以在那里放置一个子视图/子图层以显示锚点的位置。
在代码中,您可以执行类似的操作以在锚点所在的位置显示一个小黑点。
CALayer *anchorPointLayer = [CALayer layer];
anchorPointLayer.backgroundColor = [UIColor blackColor].CGColor;
anchorPointLayer.bounds = CGRectMake(0, 0, 6, 6);
anchorPointLayer.cornerRadius = 3;
CGPoint anchor = viewWithVisibleAnchorPoint.layer.anchorPoint;
CGSize size = viewWithVisibleAnchorPoint.layer.bounds.size;
anchorPointLayer.position = CGPointMake(anchor.x * size.width,
anchor.y * size.height);
[viewWithVisibleAnchorPoint.layer addSublayer:anchorPointLayer];
您可以在下图中看到四种不同旋转的结果。
这很酷,但实际上比对齐锚点更容易。
关键技巧是 theposition
和 theanchorPoint
总是同一个点,只是在两个不同的坐标空间中。位置在超层的坐标空间中指定。锚点在层的单位坐标空间中指定。
这样做的好处是属性对齐的视图position
将自动anchorPoint
对齐。请注意,内容是相对于锚点绘制的。下面是一组视图的示例,它们都具有相同的 y 分量position
,因此它们在 y 中对齐。
真的没有任何特殊的代码可以做到这一点。只需确保position
属性对齐即可。