layer 에 들어있는 anchorPoint 속성을 이용하면 됩니다.
ex )
- (void)viewDidLoad
{
[super viewDidLoad];
image = [UIImage imageNamed:@"arrow_left.png"];
imageView = [[UIImageView alloc] initWithImage:image];
imageView.center = CGPointMake(100, 100);
imageView.layer.anchorPoint = CGPointMake(0.5, 0.5);
[self.view addSubview:imageView];
self.timer = [NSTimer scheduledTimerWithTimeInterval:1.0 target:self selector:@selector(updateTime) userInfo:nil repeats:YES];
}float count = 0;
- (void) updateTime {
count = count + 90;
[UIView beginAnimations:nil context:NULL];
[UIView setAnimationDuration:1.0]; // 애니메이션 동작 시간 : 1.0초
[UIView setAnimationDelegate:self]; // 여기서 구현
[UIView setAnimationCurve:UIViewAnimationCurveLinear];
//[UIView setAnimationRepeatAutoreverses:YES];
// 예제... 이 안에서 객체의 위치,크기,알파 등의 변화가 있으면 저절로 애니메이션이 적용된다.
//
CGAffineTransform transform = CGAffineTransformMakeRotation(degreesToRadians(count));
imageView.transform = transform;
[UIView commitAnimations];
}