iOS动画滚动视图

时间:2012-02-29 05:42:33

标签: ios animation uiscrollview gesture

我想要一个自定义手势,这样如果用户从屏幕底部向上滑动他/她的手指,它会显示占据屏幕底部四分之一的滚动视图。类似地,为了关闭视图,用户将他/她的手指向下滑动离开屏幕。我几乎无法弄清楚如何将手势与动画连接起来,以便当用户移动他/她的手指时视图会上下滑动。

2 个答案:

答案 0 :(得分:0)

假设您有两个观看点self.viewself.scrollViewself.scrollViewself.view内的子视图。

然后将self.scrollView放在屏幕外。

为两个视图注册drag个事件:

[self.view addTarget:self action:@selector(mainViewMoved:withEvent:) forControlEvents:UIControlEventTouchDragInside];
[self.scrollView addTarget:self action:@selector(scrollViewMoved:withEvent:) forControlEvents:UIControlEventTouchDragInside];

根据触摸动作,查看mainViewMoved:withEvent(调出scrollView)和scrollViewMoved:withEvent(向上/向下移动)处理程序是否需要查看移动。

this question中的更多信息。

答案 1 :(得分:0)

查看UIResponder(UIView的超类)。您需要在基本视图和滚动视图(用于向下滑动)中实现以下内容,或者只有在隐藏隐藏时才能看到“手柄”的滚动视图:

– touchesBegan:withEvent:
– touchesMoved:withEvent:
– touchesEnded:withEvent:
– touchesCancelled:withEvent:

记录触摸开始计算移动手指的位置,并相应地调整滚动视图的框架。当他们举起手指(touchesEnded)时,确定他们是否已超过某个阈值(例如20像素),如果是这样,请向上/向下滑动滚动视图。