我有一个矩形的菜单式视图(视图1)放在窗户上大约100 px向下(即窗口上方有空间),需要设置下方内容(视图2)的动画我需要动画从视图1的底部边界开始 - 就像iOS 5通知下拉一样,除了从屏幕下方的特定点开始。
我不能简单地从屏幕外滑动视图2,因为由于各种原因,我无法覆盖UIView,它会隐藏其动作,直到它到达视图1的下边缘。
我已经检查了这个答案 - Programmatically reveal a UIView - 但我不相信它是合适的,因为我希望菜单滑动,而不是从静态起点显示。而且,正如所指出的,我不能用另一种观点“隐藏”滑动视图。
如何向下滑动视图2,使其在从另一个视图的下边界出现时显示,类似于io5通知下拉?
答案 0 :(得分:1)
在超级视图中包含两个子视图,其边界被剪裁。所以你有你的超级视图(让我们说应用程序窗口),并在其中一个视图(边界剪裁)。我们称之为容器视图。这个容器将起源于当前插入/始终可见的视图所做的任何Y坐标,但它的高度将足够高,以包含完全展开的“滑动”第三个子视图。
因此,在容器视图中,您将在坐标0x 0y处放置第一个始终可见的视图(视图1),然后在其下方插入滑动视图(视图2),框架y偏移以供查看2相应地设置并且具有足够的负值以通过覆盖视图1和容器视图的剪切边界完全隐藏它。
当用户拖动时(或者您用来透露“滑动”视图的任何方式),第3个视图会从始终存在的视图下方向下滑动,但始终保持在整体剪切视图中。中提琴。