我想要一个自定义手势,这样如果用户从屏幕底部向上滑动他/她的手指,它会显示占据屏幕底部四分之一的滚动视图。类似地,为了关闭视图,用户将他/她的手指向下滑动离开屏幕。我几乎无法弄清楚如何将手势与动画连接起来,以便当用户移动他/她的手指时视图会上下滑动。
答案 0 :(得分:0)
假设您有两个观看点self.view
和self.scrollView
。 self.scrollView
是self.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像素),如果是这样,请向上/向下滑动滚动视图。