Imageview旋转需要将近一分钟

时间:2012-10-15 16:47:48

标签: iphone ios cocoa-touch

在正在开发的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占据了整个屏幕吗?任何帮助都非常感谢。

1 个答案:

答案 0 :(得分:0)

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