Поворот UIButton случайным образом на экране - PullRequest
1 голос
/ 24 мая 2011

Я хочу вращать кнопку случайным образом на экране.Конкретный путь не определен, он может перемещаться случайно в представлении.

Я не хочу использовать CAKeyframeAnimationЭто должно быть чисто и просто.

Может ли кто-нибудь направить меня?

Ответы [ 3 ]

1 голос
/ 24 мая 2011
CGAffineTransform cachedTransform = transformedView.transform;
transformedView.transform = CGAffineTransformIdentity;

// Note each of the (untransformed) points of interest.
CGPoint topLeft = CGPointMake(0, 0);
CGPoint bottomLeft = CGPointMake(0, transformedView.frame.size.height);
CGPoint bottomRight = CGPointMake(transformedView.frame.size.width, transformedView.frame.size.height);
CGPoint topRight = CGPointMake(transformedView.frame.size.width, 0);

// Re-apply the transform.
transformedView.transform = cachedTransform;

// Use handy built-in UIView methods to convert the points.
topLeft = [transformedView convertPoint:topLeft toView:parentView];
bottomLeft = [transformedView convertPoint:bottomLeft toView:parentView];
bottomRight = [transformedView convertPoint:bottomRight toView:parentView];
topRight = [transformedView convertPoint:topRight toView:parentView];

Также посмотрите, полезна ли вам эта ссылка: Перемещение UIButton

0 голосов
/ 24 мая 2011
#define RADIANS(degrees) ((degrees * M_PI) / 180.0)

CGAffineTransform rotateTransform = CGAffineTransformRotate(CGAffineTransformIdentity,
     RADIANS(30.0));

myButton.transform = rotateTransform;

Используйте NSTimer для выполнения этого процесса и используйте arc4random для случайной генерации угла в радианах.

0 голосов
/ 24 мая 2011

Анимируйте свойство кнопки transform, используя CGAffineTransformMakeRotation(), и объедините его с NSTimer со случайным интервалом времени.

...