我正在开发一款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
的所有物体都滑得很好,我只是失去了背景色。知道为什么吗?
谢谢!
答案 0 :(得分:1)
你的背景是通过某种尺寸适合屏幕的“背景视图”呈现的吗?
在任何情况下,您都应该使用UIScrollView并禁用滚动而不是非常长的UIView。然后,您可以简单地为contentOffset属性设置动画以向上滚动控件,但是scrollview本身可以只是屏幕大小。
答案 1 :(得分:0)
我强烈建议您为真正长视图创建一个IBOutlet,以便代码看起来像self.longView.frame。
而不是使用self.view.frame。这有助于明确您正在使用的观看次数。
现在我打赌你正在制作错误的观点。