2016-04-07 2 views
-1

Я хочу rotate image (стрелка) по круговой траектории в coreGraphics вот это изображение. в круговом пути.КАК ВОСПРОИЗВЕДЕНИЕ ИЗОБРАЖЕНИЯ по круговой траектории

входное изображение:

Arrow image

выход после вращения:

Rotate arrow in CoreGraphics iOS

+2

Показать код. что вы пробовали? –

+0

http://pastebin.com/wLs5vbfL –

+0

Я позвонил этой функции, чтобы повернуть картинку [self rotateImage: leafImage angle: archAngle + width/2 row: row]; // context: context]; –

ответ

0

Это вернет повернутое изображение

- (UIImage *)rotateImage:(UIImage *)image onDegrees:(float)degrees 
{ 
    CGFloat rads = M_PI * degrees/180; 
    float newSide = MAX([image size].width, [image size].height); 
    CGSize size = CGSizeMake(image.size.width, newSide); 
    UIGraphicsBeginImageContext(size); 
    CGContextRef ctx = UIGraphicsGetCurrentContext(); 
    CGContextTranslateCTM(ctx, image.size.width, newSide/2); 
    CGContextRotateCTM(ctx, rads); 
    CGRect r = CGRectMake(0,-[image size].height/2,image.size.width,image. size.height); 
    [image drawInRect:r]; 
    UIImage *i = UIGraphicsGetImageFromCurrentImageContext(); 
    UIGraphicsEndImageContext(); 
    return i; 
} 

    UIImage *arrowRotated180 = [self rotateImage:[UIImage imageNamed:@"arrowImage"] onDegrees:180]; 

    UIImage *arrowRotated90 = [self rotateImage:[UIImage imageNamed:@"arrowImage"] onDegrees:90]; 
+0

отлично это то, что я искал (y) –

0

Поместите три изображения и вращать 2 & 3 изображения в качестве последующих.

imageview2.transform = CGAffineTransformMakeRotation(M_PI/4); 

imageview3.transform = CGAffineTransformMakeRotation(M_PI/2); 

Надеется, что это поможет ...

0

попытки UIcollectionview это сработало мое дело.

+0

этот работал, но я не могу добавить действие для события касания через него –