仪表盘 iOS开发

仪表盘 iOS开发_第1张图片
动画前
仪表盘 iOS开发_第2张图片
动画后

用两个imageView做框架实现数据仪表:

if(kViewWidth==kViewHeight) {

self.backImageView= [[UIImageViewalloc]initWithFrame:CGRectMake(0,0,kViewWidth,kViewWidth/2.0)];

}elseif(kViewHeight>kViewWidth){

self.backImageView= [[UIImageViewalloc]initWithFrame:CGRectMake(0,(kViewHeight-kViewWidth) /2.0,kViewWidth,kViewWidth/2.0)];

}else{

self.backImageView= [[UIImageViewalloc]initWithFrame:CGRectMake((kViewWidth-kViewHeight)/2.0,0,kViewHeight,kViewHeight/2.0)];

}

self.backImageView.contentMode=UIViewContentModeScaleAspectFill;

[selfaddSubview:self.backImageView];

self.pointerImageView= [[UIImageViewalloc]initWithFrame:CGRectMake(0,CGRectGetMaxY(self.backImageView.frame),CGRectGetWidth(self.backImageView.frame) /2.0,5)];

[self.backImageViewaddSubview:self.pointerImageView];

实现锚点以及动画:

CGRectoldFrame =self.dashView.pointerImageView.frame;

oldFrame.origin.y= oldFrame.origin.y-5;

self.dashView.pointerImageView.layer.anchorPoint=CGPointMake(1,1); // 锚点

self.dashView.pointerImageView.frame= oldFrame; // 恢复原有的frame

[UIViewanimateWithDuration:3animations:^{

CGAffineTransformtransform =CGAffineTransformMakeRotation(120*M_PI/180.0);

[self.dashView.pointerImageViewsetTransform:transform];

}];

你可能感兴趣的:(仪表盘 iOS开发)