我有一个主视图(当前显示的 View )。
另一个 View 作为 subview 添加到 ScrollView 中。此另一个 View 的初始位置必须使此另一个 View 的底部出现在主视图的最顶部。
现在,当我向下拖动另一个 View 的底部时,另一个 View 应该以我拖动它的速度从上到下显示为滑动。
当我停止拖动时,滑动也应该停止。
如果我在半屏后释放拖动,滑动应该继续到屏幕底部。
我怎么能做到这一点?
最佳答案
您应该使用 UIPanGestureRecognizer。
在 UIGestureRecognizerStateBegan 上的 Pan 识别器函数中,AnotherView 应该在 main 前面或者放在前面。
如果 UIGestureRecognizerStateChanged 相应地更改另一个 View 框架,则此移动。您可以通过返回 CGPoint 的 [panRecognizer translationInView:self.view] 获得运动。并检查另一个 View 是否已经在屏幕的一半之后。如果您通过一半屏幕,只需使用 animateWithDuration 完成 UIGestureRecognizerStateEnded 上的移动。
所以另一个 View 不需要在 ScrollView 内。
据我了解,你想做一些类似于滑出菜单的东西。 http://www.raywenderlich.com/32054/how-to-create-a-slide-out-navigation-like-facebook-and-path
在那里您可以找到如何使用平移识别器通过拖动来滑动 View 的示例。
关于ios - 当我们使用Objective-C使用手指拖动时xib的垂直滑动,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29233442/