2012-02-29 146 views
0

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

+1

到目前为止你有什么尝试? – 2012-02-29 05:54:16

+0

我实现了自定义手势和滚动视图。我可以让它“神奇地”出现/消失。我只是不知道如何与用户的手指一起移动视图。 – user1120008 2012-03-01 04:54:27

回答

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是否需要视运动(带滚动视图)和scrollViewMoved:withEvent(移动本身上/下)处理程序。

更多的信息在this question

0

检出UIResponder(UIView的超类)。你需要实现你的基本视图下,你的滚动视图(用于向下轻扫),或者只是你的滚动视图如果当它被隐藏在“处理”可见:

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

记录触摸开始的地方计算他们移动手指的距离,并相应地调整滚动视图的框架。当他们抬起手指(touchesEnded)时,确定他们是否已经通过了一些阈值(比如说20像素),如果是这样,就可以向上/向下滑动你的滚动视图。