【问题标题】:How do I rotate a subview x degrees?如何将子视图旋转 x 度?
【发布时间】:2011-06-08 10:11:09
【问题描述】:

所以我想将子视图旋转 x 度(或至少 90 度)。我希望子视图围绕子视图的右下角旋转。是否可以像下图那样制作动画?

谢谢!

【问题讨论】:

    标签: iphone objective-c


    【解决方案1】:
    CGAffineTransform transform = 
        CGAffineTransformMakeRotation(angle);
    
    yourSubView.transform = transform;
    

    【讨论】:

    • 我可以围绕给定点旋转它吗?在这种情况下,子视图的右下角。
    • 我猜你应该用 SetCenter 方法改变你的子视图的中心
    【解决方案2】:

    你可以通过组合变换来做到这一点。先平移到旋转原点,然后旋转,再变换回原来的中心。您正在旋转的视图是 v。它在动画中只是为了好玩。

    [UIView beginAnimations:nil context:NULL];
    CGAffineTransform t = CGAffineTransformIdentity;
    t =CGAffineTransformTranslate(t,- v.bounds.size.width/2,  -v.bounds.size.height/2);
    t =  CGAffineTransformRotate(t, -M_PI/2);
    t =CGAffineTransformTranslate(t,v.bounds.size.width/2, v.bounds.size.height/2);
    v.transform = t;
    [UIView commitAnimations];
    

    【讨论】:

      猜你喜欢
      • 2012-06-05
      • 2012-12-20
      • 1970-01-01
      • 1970-01-01
      • 2015-07-04
      • 1970-01-01
      • 2011-11-19
      • 2020-10-03
      • 1970-01-01
      相关资源
      最近更新 更多