Как повернуть UIView с помощью преобразования?

У меня есть UIView, который я пытаюсь преобразовать (повернуть), используя значение шага, которое вы можете получить из отношения coremotion. Я использую преобразование, однако я не уверен, что мой код правильный, так как UIView ничего не делает.

Это мой код, который вызывается несколько раз в секунду.

- (void)setLabelValueRoll:(double)roll pitch:(double)pitch yaw:(double)yaw
{
    self.yLabel.text = [NSString stringWithFormat:@"pitch: %f", pitch];


    CATransform3D transform;
    transform = CATransform3DMakeRotation(pitch + M_PI_2, 1, 0, 0);
    self.wapaA.layer.sublayerTransform = transform;
}

Я не знаю, как установить эту часть (pitch + M_PI_2, 1, 0, 0), чтобы высота тона влияла на мой квадрат UIView, чтобы он оставался на одном уровне, когда вы наклоняете телефон вперед и назад. .


person HurkNburkS    schedule 03.05.2014    source источник
comment
Если wapaA — это UIView, то должно работать просто применение wapaA.transform.   -  person ZeMoon    schedule 03.05.2014
comment
Если я это сделаю, я получу предупреждение Результат доступа к свойству неиспользуемый - геттеры не должны использоваться для побочных эффектов и, к сожалению, это не сработает.   -  person HurkNburkS    schedule 03.05.2014


Ответы (2)


Должно быть layer's transform property из UIView

wapaA.layer.transform = CATransform3DMakeRotation(pitch + M_PI_2, 1, 0, 0); 
person Paresh Navadiya    schedule 03.05.2014
comment
большой! это сработало.. спасибо за это, в итоге я изменил расчет, чтобы получить желаемый эффект (pitch + M_PI_2, 0, 0, 1) - person HurkNburkS; 03.05.2014

Это будет работать

float degrees = 20; //the value in degrees
view.transform = CGAffineTransformMakeRotation(degrees * M_PI/180);
person Shaheen Ghiassy    schedule 03.08.2015