简体   繁体   中英

How to rotate UIView using transform?

I have a UIView which I am trying to transform (rotate) using the pitch value you can get from coremotion attitude. I am using transform however I am not sure my code is correct as the UIView is not doing anything.

This is my code its being called several times per second.

- (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;
}

I am not sure how to set this part (pitch + M_PI_2, 1, 0, 0) to make the pitch affect my square UIView so it would I guess stay level as you tilt the phone back and forth.

它应该是UIView layer's transform property

wapaA.layer.transform = CATransform3DMakeRotation(pitch + M_PI_2, 1, 0, 0); 

This will work

float degrees = 20; //the value in degrees
view.transform = CGAffineTransformMakeRotation(degrees * M_PI/180);

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM