Jim*_*ery 5 cocoa-touch objective-c 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];
Run Code Online (Sandbox Code Playgroud)
您可以在下面的图像中看到四种不同旋转的结果.

这很酷,但实际上它更容易对齐锚点.
关键的诀窍是,position和anchorPoint是始终同一点,只有在两种不同的坐标空间.位置在超级图层的坐标空间中指定.锚点在图层的单位坐标空间中指定.
关于这一点的好处是,具有position对齐属性的视图将自动anchorPoint对齐.请注意,内容是相对于锚点绘制的.下面是一组视图的示例,它们都具有相同的y分量position,因此它们在y中对齐.
确实没有任何特殊代码可以做到这一点.只需确保position属性已对齐.
