多个view360度围绕中心点旋转

主要是在于对layer的理解。view的底层是layer。所以控制位置的其实是layer。用layer的anchorPoint可以做出一个绕中心轴旋转的效果。如下图:

5BDF1CC5-F9CF-4012-9659-7ECC5145B4E0.png

上代码

- (void)viewDidLoad {
    [super viewDidLoad];
    
    NSInteger count = 24;
    
    for (int i = 0; i < count; i++) {
       
        UIView *greenview = [[UIView alloc]init];
        greenview.backgroundColor = [UIColor greenColor];
        [self.view addSubview:greenview];
        //利用anchorPoint来控制view的位置
        greenview.bounds = CGRectMake(0, 0, 25, 40);
        greenview.layer.anchorPoint = CGPointMake(0.5, 4.0);
        greenview.center = self.view.center;
        CGFloat radion = (360/count * i) / 180.0 * M_PI;
        greenview.transform = CGAffineTransformMakeRotation(radion);
       
    } 
}
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 转载://www.greatytc.com/p/32fcadd12108 每个UIView有一个伙伴称为l...
    F麦子阅读 11,463评论 0 13
  • 每个UIView有一个伙伴称为layer,一个CALayer。UIView实际上并没有把自己画到屏幕上;它绘制本身...
    shenzhenboy阅读 8,295评论 0 17
  • 在iOS中随处都可以看到绚丽的动画效果,实现这些动画的过程并不复杂,今天将带大家一窥iOS动画全貌。在这里你可以看...
    F麦子阅读 10,515评论 5 13
  • 在iOS中随处都可以看到绚丽的动画效果,实现这些动画的过程并不复杂,今天将带大家一窥ios动画全貌。在这里你可以看...
    每天刷两次牙阅读 12,707评论 6 30
  • Core Animation其实是一个令人误解的命名。你可能认为它只是用来做动画的,但实际上它是从一个叫做Laye...
    小猫仔阅读 9,207评论 1 4