动画self.view.window.frame更改

时间:2012-11-23 16:32:38

标签: iphone ios xcode cocoa-touch

我正在使用带有块的动画,我正在尝试对主窗口框架的更改进行动画处理。 这是我的代码:

[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更改或其他东西那样的动画。这只是没有动画的简单废话。

有什么想法吗?

1 个答案:

答案 0 :(得分:1)

这是错误的,窗口在FRAME和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);
}];