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

这是错误的,窗口在 FRAME 和 Bounds 中是固定的,你不能移动窗口,它的顶部根容器并且具有恒定的大小,你应该只像这样平移和转换你的视图。

[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 回答