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)を回転させてから約1分後に発生しますが、対照的に、画面内の他のコンポーネント(たとえば、imageViewBarTop)は回転します。 ->画面上部のバーであるbuttonHome->「ホーム」ボタン)は、デバイスの回転時に瞬時に回転します。imageViewPicの回転に非常に時間がかかるのはなぜですか(そのコードは実際には他のコンポーネントを回転させるコードの前にありますが)?imageViewPicが画面全体を占めるからですか?どんな助けでもありがたいです。

4

1 に答える 1

0

画像を手動で変換したい理由はありますか? ビュー内のすべてを回転させている場合は、ビュー自体を回転させて、プロセッサの多くの作業を節約したい場合があります。willAnimateRotationToInterfaceOreintation メソッドを使用するだけです。

于 2012-10-15T17:32:12.390 に答える