动画时UIView失去了背景

时间:2011-02-04 02:56:20

标签: iphone cocoa-touch ios

我正在开发一款iOS应用,而且身高UIView(2400像素高)时遇到了麻烦。 UIView包含一个非常长的形式,分为5个部分。当用户完成表单的一部分时,我想向上滑动UIView以显示下一部分。我以模态方式呈现UIView

我遇到的问题是,当我向上滑动UIView时,背景会与第一部分中的对象一起向上滑动,下一部分会留下清晰的背景。我用来滑动UIView的代码是:

- (IBAction)slideUp {   
    // Slide the view up the screen to reveal the next section
    CGRect frame = self.view.frame;
    [UIView beginAnimations:nil context:NULL];
    [UIView setAnimationDuration:1.75];
    frame.origin.y = -480;
    self.view.frame = frame;
    [UIView commitAnimations];
}

真正高UIView的所有物体都滑得很好,我只是失去了背景色。知道为什么吗?

谢谢!

2 个答案:

答案 0 :(得分:1)

你的背景是通过某种尺寸适合屏幕的“背景视图”呈现的吗?

在任何情况下,您都应该使用UIScrollView并禁用滚动而不是非常长的UIView。然后,您可以简单地为contentOffset属性设置动画以向上滚动控件,但是scrollview本身可以只是屏幕大小。

答案 1 :(得分:0)

我强烈建议您为真正长视图创建一个IBOutlet,以便代码看起来像self.longView.frame。

而不是使用self.view.frame。

这有助于明确您正在使用的观看次数。

现在我打赌你正在制作错误的观点。