我有一个主视图(当前显示的视图)。
将AnotherView添加为滚动视图的子视图。此AnotherView的初始位置必须使得另一个视图的底部出现在MainView的最顶部。
现在,当我向下拖动AnotherView的底部部分时,AnotherView应该以我拖动它的速度从上到下显示为SLIDING。
当我停止拖动时,滑动也应停止。
如果我在屏幕的一半后松开拖动,滑动应继续到屏幕的底部。
我怎么能实现这个目标?
答案 0 :(得分:0)
您应该使用UIPanGestureRecognizer。 AnotherView应该在main之前,或者在UIGestureRecognizerStateBegan的Pan Recogniser的函数中放在前面。 如果UIGestureRecognizerStateChanged相应地更改另一个View框架此移动。您可以通过返回CGPoint的[panRecognizer translationInView:self.view]进行移动。并检查另一个视图是否已经在屏幕的一半之后。如果您通过屏幕的一半,只需使用animateWithDuration完成UIGestureRecognizerStateEnded上的移动。 所以另一个视图不需要在scrollview中。
据我所知,你想做一些类似于滑出菜单的东西。 http://www.raywenderlich.com/32054/how-to-create-a-slide-out-navigation-like-facebook-and-path 在那里,您可以找到如何使用平移识别器通过拖动来滑动视图的示例。