【问题标题】:Rotate UIImageView with same center point using CGAffineTransformMakeRotation使用 CGAffineTransformMakeRotation 旋转具有相同中心点的 UIImageView
【发布时间】:2012-11-22 15:16:42
【问题描述】:

我正在尝试旋转 UIImageView 并使其居中。在下图中,我希望旋转的箭头(红色十字准线)中心点与 0° 箭头(蓝色十字准线)的中心点匹配。

我尝试了各种锚点,但似乎无法让它按我想要的方式运行。

// Rotate
self.arrowRotatedImageView.layer.anchorPoint = CGPointMake(0.5,0.5);
CGFloat angle = 45 * (M_PI/180);
self.arrowRotatedImageView.transform = CGAffineTransformMakeRotation(angle);

我错过了什么?我正在阅读Apple docs 但我一直无法弄清楚。

【问题讨论】:

    标签: objective-c uiimageview rotation cgaffinetransform


    【解决方案1】:

    原来奇怪的旋转问题与新的 iOS 6 自动布局功能有关。一旦我花一些时间了解对齐约束是如何工作的,我就能够实现我想要的结果。

    如果您遇到奇怪的旋转问题并且使用启用了自动布局的 iOS 6,您的约束可能需要调整。

    关键是在其父视图中垂直和水平居中旋转图像。

    【讨论】:

    • 感谢您的回答,同样的问题我花了一整天才找到您的答案
    • 如果你能分享你所学到的关于约束来解决问题的知识,那就太好了。 :)
    • 是的,同上。我正在寻找这个问题。
    【解决方案2】:

    我遇到了同样的问题,我通过将Center X Alignment ConstraintCenter Y Alignment Constraint 应用于有问题的UIImageView 来解决它。这样做会阻止图像从其中心 x 和 y 位置移动。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-08-03
      • 2010-10-25
      • 1970-01-01
      • 1970-01-01
      • 2012-12-28
      相关资源
      最近更新 更多