Iphone 视图拖动序列
我想创建一个应用程序,它显示一个可拖动的窗口(购物车)。购物车必须从屏幕底部拖动,并且必须覆盖所有打开的视图。拖动必须跟随您的手指 是否可以使用segues实现此功能?我的想法是通过以下触摸事件执行segue:Iphone 视图拖动序列,iphone,storyboard,drag,segue,Iphone,Storyboard,Drag,Segue,我想创建一个应用程序,它显示一个可拖动的窗口(购物车)。购物车必须从屏幕底部拖动,并且必须覆盖所有打开的视图。拖动必须跟随您的手指 是否可以使用segues实现此功能?我的想法是通过以下触摸事件执行segue: [self performSegueWithIdentifier:@"Show Cart" sender:self]; 然后,segue实现将打开购物车,将其置于屏幕外,然后将其定位以反映用户手指的移动,直到用户释放它。然后,它将设置动画,或者返回到全屏 It segues不适用于此,
[self performSegueWithIdentifier:@"Show Cart" sender:self];
然后,segue实现将打开购物车,将其置于屏幕外,然后将其定位以反映用户手指的移动,直到用户释放它。然后,它将设置动画,或者返回到全屏
It segues不适用于此,那么我如何实现它
编辑:
我明白了,我必须更具体一些:)如果我很好地理解了文档,我有三种方式来表达一种观点:
- (void)viewPanned:(UIPanGestureRecognizer *)recognizer{
if (recognizer.state == UIGestureRecognizerStateChanged)
theView.center = [recognizer locationInView:self.view];
}
请注意,此代码假定视图直接添加到viewController.view(其中self指的是viewController)来自apple文档:
“创建自定义分段
Interface Builder为从一个视图控制器过渡到另一个视图控制器的所有标准方法提供了分段……”
因此,如果您想通过手指的移动来移动视图(而不是视图控制器),则手指不适合您
为了通过手指的移动来移动视图,应执行以下操作:
将平移手势识别器添加到视图(我们称之为视图):
然后实现viewPanned:方法
- (void)viewPanned:(UIPanGestureRecognizer *)recognizer{
if (recognizer.state == UIGestureRecognizerStateChanged)
theView.center = [recognizer locationInView:self.view];
}
请注意,此代码假定视图直接添加到viewControllers.view(其中self指的是viewController)