如何在旋转设备时避免将图像视图更改为旋转

时间:2011-02-24 03:37:00

标签: iphone objective-c view rotation orientation

如何在旋转设备时避免将图像视图更改为旋转。我有图像视图,当设备方向改变时我不想旋转。

3 个答案:

答案 0 :(得分:3)

如果你的意思是你希望整个视图自动旋转,除了你的图像视图,那么你基本上只需手动将图像视图旋转回正常,而其他一切都会自动旋转。

您可以在willAnimateRotationToInterfaceOrientation:duration:中执行此操作。将变换应用于要旋转的视图。

- (void) willAnimateRotationToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation 
                                         duration:(NSTimeInterval)duration 
{
    [UIView beginAnimations:@"controlMovement" context:nil];
    [UIView setAnimationDuration:duration];
    if( interfaceOrientation == UIInterfaceOrientationPortrait || 
        interfaceOrientation == UIInterfaceOrientationPortraitUpsideDown ) {
        myImageView.transform = CGAffineTransformIdentity;      
    } else {
        myImageView.transform = CGAffineTransformMakeRotation( M_PI / 2 );
    }   
    [UIView commitAnimations];
}

答案 1 :(得分:0)

我认为您应该检查UIImageOrientation,然后进行更改或进行转换。

其他可以帮助你更好,这只是我的想法

答案 2 :(得分:0)

易。我创建了一个旋转动画,可以补偿方向的变化 在

- (void)willRotateToInterfaceOrientation:(UIInterfaceOrientation) toInterfaceOrientation方法。

根据 toInterfaceOrientation 值,您可以计算旋转变换的角度。