Как получить идеальное положение X, Y вращающегося UIView в ios

Я использую CABasicanimation для поворота UIView. Я использую этот код,

    CABasicAnimation *rotationAnimation = [CABasicAnimation animationWithKeyPath:@"transform.rotation.z"];
    NSNumber *currentAngle = [CircleView.layer.presentationLayer valueForKeyPath:@"transform.rotation"];
    rotationAnimation.fromValue = currentAngle;
    rotationAnimation.toValue = @(50*M_PI);
    rotationAnimation.duration = 50.0f;             // this might be too fast
    rotationAnimation.repeatCount = HUGE_VALF;     // HUGE_VALF is defined in math.h so import it
    [CircleView.layer addAnimation:rotationAnimation forKey:@"rotationAnimationleft"];

в этом я хочу идеальное положение X, Y, пока «UIView» вращается. Если кто-нибудь знает, пожалуйста, помогите мне.

Заранее спасибо.введите здесь описание изображения


person Hardik Vyas    schedule 13.01.2016    source источник
comment
Не могли бы вы объяснить немного больше, что вы подразумеваете под идеальным положением x и y и в какую сторону должен вращаться ваш взгляд? Вы хотите, чтобы он вращался по оси Z (то есть в 3D-пространстве?).   -  person Tuslareb    schedule 13.01.2016
comment
На самом деле я вращаю свой UIView как сбоку, так и по событию щелчка, и когда этот UIView вращается, мне нужна идеальная позиция этого UIView, в которой он находится на самом деле.   -  person Hardik Vyas    schedule 13.01.2016
comment
мне нужна должность типа (X,Y)   -  person Hardik Vyas    schedule 13.01.2016
comment
Нет Это не как 3d не в z. я просто вращаю UIVew в той же позиции UIView.   -  person Hardik Vyas    schedule 13.01.2016


Ответы (2)


Я получил ответ на этот вопрос, пожалуйста, перейдите по этой ссылке для ответа

Перейдите по этой ссылке для ответа

person Hardik Vyas    schedule 16.01.2016

Итак, если я правильно вас понял, вы просто хотите получить координаты X и Y вашего вида во время вращения?

Вы можете сделать это, зарегистрировав кадр презентационного слоя, например:

- (IBAction)buttonAction:(UIButton *)sender {

    CGRect position = [[CircleView.layer presentationLayer] frame];
    NSLog(@"%@", NSStringFromCGRect(position));
}
person Tuslareb    schedule 13.01.2016
comment
Здравствуйте, друг, спасибо за ваш ответ, но это не дает мне идеального положения - person Hardik Vyas; 13.01.2016
comment
Я попробовал ваш код и мой ответ, вы правы, уровень представления не дает правильных координат в координатном пространстве супервизоров. В этот момент я не понимаю, почему. Я вернусь к этому, если узнаю. - person Tuslareb; 13.01.2016
comment
Хорошо, спасибо, пожалуйста, скажите мне, если у вас есть какие-либо идеи об этом. - person Hardik Vyas; 13.01.2016