iOS中的圖片旋轉

這是我的第一個項目,雖說是接手別人的,但是也很激動的說.

在項目中,需要改需求,要計算下載速度,其中用到了使用表盤的形式展示當前網速,里面當然就用到了圖片的旋轉.

代碼如下:

- (void)viewDidLoad {

[super viewDidLoad];

//使用NSTimer控制旋轉

timer = [NSTimer scheduledTimerWithTimeInterval:0.01 target:self selector:@selector(transform) userInfo:nil repeats:YES];

[self addViews];

}

- (void)addViews{

networkSpeedometer = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"pan"]];

networkSpeedometer.frame = CGRectMake(0, WIDTH(125), WIDTH(320), WIDTH(156));

[self.view addSubview:networkSpeedometer];

networkPoint = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"zhen_cz"]];

//指定了旋轉的部位,也就是旋轉的支點

networkPoint.layer.anchorPoint = CGPointMake(WIDTH(122 - 7)/ WIDTH(122), 0.5);

networkPoint.frame = CGRectMake(WIDTH(45), WIDTH(156 - 33), WIDTH(122), WIDTH(14));

[networkSpeedometer addSubview:networkPoint];

}

//旋轉的方法

- (void)transform{

angle = angle + 0.01;//angle旋轉的角度,隨著NSTimer增大

if (angle >= M_PI_2) {

//當angle增加到M_PI_2也就是90°的時候,讓NSTimer停止

timer.fireDate = [NSDate distantFuture];

[timer invalidate];

return;

}

networkPoint.transform = CGAffineTransformMakeRotation(angle);

}

效果圖:


注意:其中定義的宏WIDTH 為#define WIDTH(i) (1.0*[UIScreen mainScreen].bounds.size.width/320*(i)) ?這個定義的宏,可以很方便的讓你設置的frame可以適應各個iPhone端

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容