拖动像facebooks菜单幻灯片这样的uiview

时间:2014-03-02 16:59:15

标签: ios cocoa-touch drag

我知道之前可能已经提到了这个问题,但我已经看过很多方法,我不知道哪种方法最适合我,所以除非直接解决我的问题,否则请不要发送链接到其他帖子。< / p>

我有一个顶部有uiview的控制器(如标题)(这个标题比看起来更大,因为它部分隐藏在顶部)。在那个视图上,我有一个uibutton,现在内部有一个修饰,显示整个标题视图,再次编带将其返回到它的起始位置(用动画更改框架)。我想也能够拖动视图但只能改变y轴上的位置(向上和向下拖动)......我正在考虑将dragInside / Outside事件添加到按钮但是这并没有给我一个位置手指...并且还想知道用户何时释放拖动,以便视图将动画结束到其两种可能状态中的任何一种(显示或部分隐藏)。这是“触动开始”,“触动感动”,“触动结束”的事情吗?如果是,请提供代码示例。我也想用另一个视图做这个,但这是在左侧...同样的事情,但这一个在X轴上移动...任何帮助表示赞赏。或者也许它可以用拖动事件制作,如果我只能保存最后一次触摸的CG点,也许这更好,任何其他建议

2 个答案:

答案 0 :(得分:2)

使用UIPanGestureRecognizer检测触摸动作。使用手势的translationInView:设置查看y位置。平移是自手势开始以来的总移动,因此您无需自己记住并累积偏移位置。

实现此功能时要担心的主要问题是限制视图的y位置,这样无论用户拖动视图多远,屏幕上的视图都不会太高或太低。

答案 1 :(得分:0)

使用UIPanGestureRecognizer,这是一个专门用于处理此类拖动/平移手势的课程。

所有is described here in Apple's documentation,包括示例,所以你应该在这里找到答案。

如果需要,还有some sample code in Apple Developer Library向您展示如何使用手势识别器。