0

ブロックでアニメーションを使用しており、メイン ウィンドウのフレームの変更をアニメーション化しようとしています。これが私のコードです:

[UIView animateWithDuration:0.3f animations:^{
            [UIView setAnimationCurve:UIViewAnimationCurveEaseInOut];
            self.view.window.frame = CGRectMake(0.0f, -20.0f, self.view.window.frame.size.width, self.view.window.frame.size.height+20);
}];

ただし、self.view.frameの変更などのようにアニメーション化されません。アニメーションなしのただのがらくたです。

何か案は?

4

1 に答える 1

1

これは誤りです。Window は FRAME And Bounds で固定されています。Window はその最上位のルート コンテナであり、サイズが一定であるため移動できません。ビューをこのようにのみ変換および変換する必要があります。

[UIView animateWithDuration:0.3f animations:^{
            [UIView setAnimationCurve:UIViewAnimationCurveEaseInOut];
            self.view.frame = CGRectMake(0.0f, -20.0f, self.view.frame.size.width, self.view.frame.size.height+20);
}];
于 2012-11-23T18:30:37.627 に答える