2011-02-04 40 views
0

我正在使用iOS应用程序,并且遇到了一个很高的UIView(2400px高)的问题。 UIView包含一个非常长的表单,已被分解为5个部分。当用户完成表格的一部分时,我想滑动UIView以显示下一部分。我以模态方式呈现UIViewUIView动画时丢失背景

我遇到的问题是,当我向上滑动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滑了罚款,我只是失去了我的背景颜色。任何想法为什么?

谢谢!

回答

0

而不是使用self.view.frame,我强烈建议你为真正长的视图创建一个IBOutlet,以便代码看起来像self.longView.frame。

这将有助于明确您正在使用的视图。

现在我打赌你是动画错误的观点。

1

您的背景是否被某种“背景视图”渲染的大小适合屏幕?

在任何情况下,你都应该使用UIScrollView,禁用滚动而不是真正长的UIView。然后,您可以简单地动画contentOffset属性来向上滚动控件,但滚动视图本身可以简单地以屏幕大小显示。