逐渐显示并从另一个UIView向后滑动UIView

问题描述:

我有一个矩形的菜单样式的视图(视图1)放在窗口的大约100 px下(即窗口上方有空间),并需要动画下拉内容(视图2)从视图1下方出现在屏幕下方。我需要动画从视图1的底部边界开始 - 与iOS 5通知下拉菜单非常相似,除了从下面的特定点开始屏幕。逐渐显示并从另一个UIView向后滑动UIView

我不能简单地从关闭屏幕上滑动视图2中,由于各种原因,我不能覆盖一个UIView,将隐藏其运动,直到它达到的视图的下边缘1.

我已经检查了这个答案 - Programmatically reveal a UIView - 但我不认为这是适当的,因为我想菜单滑动,而不是从静态起点显示。而且,正如指出的那样,我不能用另一种观点“隐藏”滑动视图。

如何向下滑动视图2,使其显示为从另一个视图的下边界出现,类似于io5通知下拉菜单?

在超级视图中包含两个子视图并将其限制为剪裁。所以你应该有你的超级视图(让我们说应用程序窗口),并在其中一个视图(边界限制)。我们称之为容器视图。这个容器将起源于任何Y坐标,您当前插入的/总是可见的视图,但它的高度会延伸到足以包含完全展开的“滑动”第三个子视图。

因此,在您的容器视图中,您需要将第一个始终可见的视图(视图1)放置在坐标0x0y处,然后在该视图下方插入滑动视图(视图2),其中框架y偏移为查看2套,并以足够的负值通过覆盖视图1和容器视图的剪切边界完全隐藏它。

用户拖动(或其他意味着你的使用透露你的“滑”视图),第三视图滑出从总是存在视图下方回落,但始终保持内总体裁剪视图。中提琴。

+0

工程很棒 - 非常感谢!这种边界限制的东西对我来说从来没有太多意义,所以非常感谢澄清。 – beaudrykock 2012-02-16 10:20:54