0

在正在开发的 iPhone/iPad 应用程序中,正在使用以下代码旋转图像视图:

   if (myOrientation == UIInterfaceOrientationPortrait) {

        NSLog(@"portrait");

        self.imageViewPic.transform = CGAffineTransformMakeRotation(degreesToRadians(0));
        self.imageViewPic.bounds = CGRectMake(0.0f, 0.0f, [[UIScreen mainScreen] bounds].size.width,  [[UIScreen mainScreen] bounds].size.height);
        self.imageViewPic.center = CGPointMake(([[UIScreen mainScreen] bounds].size.height)/2, ([[UIScreen mainScreen] bounds].size.width)/2);
        [self.imageViewPic setFrame:CGRectMake(0.0,0.0,[[UIScreen mainScreen] bounds].size.width,[[UIScreen mainScreen] bounds].size.height)];
        self.imageViewPic.image = self.picture;

        self.imageViewBarTop.transform = CGAffineTransformMakeRotation(degreesToRadians(0));
        self.buttonHome.transform = CGAffineTransformMakeRotation(degreesToRadians(0));
       ....
    }

imageViewPic(全屏尺寸)确实会旋转,但它发生在我实际旋转设备(iPhone/iPad) “之后”几乎一分钟,而相比之下,屏幕中的其他组件(例如,imageViewBarTop -> 这是屏幕顶部的一个栏,buttonHome -> 这是一个“主页”按钮)在设备旋转时立即旋转。为什么 imageViewPic 的旋转需要这么长时间(即使它的代码实际上旋转其他组件的代码之前)?是不是因为imageViewPic占据了整个屏幕?非常感谢任何帮助。

4

1 回答 1

0

您是否有理由要手动转换图像?如果您要旋转视图中的所有内容,您可能只想旋转视图本身并为您的处理器节省大量工作!只需使用 willAnimateRotationToInterfaceOreintation 方法。

于 2012-10-15T17:32:12.390 回答