0

私は 2 つの UIViewControllers を持つかなり単純なアプリを持っています。1 つはメイン ビュー、2 番目はオプション ページです。あるものから別のものへとアニメーション化すると、回転が完了するまで UISwitches やその他のコントロールが完全に描画されません。アニメーションを使用しなくても問題はありません。すべてが正しく表示されます。コードは次のとおりです。

[UIView beginAnimations:@"View Flip" context:nil];
[UIView setAnimationDuration:1.0];
[UIView setAnimationCurve:UIViewAnimationCurveEaseInOut];

if (self.optionsViewController.view.superview == nil)
{
    if (self.optionsViewController == nil)
    {
        self.optionsViewController = [[OptionsViewController alloc] initWithNibName:nil bundle:nil];
    }
    [UIView setAnimationTransition:UIViewAnimationTransitionFlipFromRight forView:self.view cache:YES];

    [self.view insertSubview:self.optionsViewController.view atIndex:127];
}

[UIView commitAnimations];
4

1 に答える 1

2

キャッシュを NO に設定してみましたか? キャッシングはビューをラスター化されたフォームとして保存します。これは、OptionsViewController のサブビューの描画中に発生する可能性があります。

また、iOS5 ではより新しく優れたアニメーション方法を使用することを検討する必要があります。

+ (void)transitionFromView:(UIView *)fromView toView:(UIView *)toView duration:(NSTimeInterval)duration options:(UIViewAnimationOptions)options completion:(void (^)(BOOL finished))completion
于 2012-05-05T02:42:11.317 に答える