草庐IT

uipangesturerecognizer

全部标签

ios - 基于 UIPanGestureRecognizer velocity 的 UIView 动画

我希望能够在屏幕上和屏幕外移动subview,就像您在iPhone内置的照片应用程序中浏览图像一样,所以如果当我放手时subview离开屏幕超过1/2手指它必须在屏幕外进行动画处理,但它还必须支持滑动,因此如果滑动/平移速度足够高,它必须在屏幕外进行动画处理,即使距离屏幕可能不到1/2。我的想法是使用UIPanGestureRecognizer然后测试速度。这可行,但是如何根据View的当前位置和平移速度为UIView的移动设置正确的动画持续时间,使其看起来平滑?如果我设置一个固定值,与我的手指滑动速度相比,动画要么开始变慢要么变快。 最佳答案

ios - 基于 UIPanGestureRecognizer velocity 的 UIView 动画

我希望能够在屏幕上和屏幕外移动subview,就像您在iPhone内置的照片应用程序中浏览图像一样,所以如果当我放手时subview离开屏幕超过1/2手指它必须在屏幕外进行动画处理,但它还必须支持滑动,因此如果滑动/平移速度足够高,它必须在屏幕外进行动画处理,即使距离屏幕可能不到1/2。我的想法是使用UIPanGestureRecognizer然后测试速度。这可行,但是如何根据View的当前位置和平移速度为UIView的移动设置正确的动画持续时间,使其看起来平滑?如果我设置一个固定值,与我的手指滑动速度相比,动画要么开始变慢要么变快。 最佳答案

ios - Swift UIGestureRecogniser 跟随手指

我正在使用Swift制作一个iOS8应用程序。我希望用户能够使用手势来显示界面的某些部分。因此,例如,用户向上滑动他们的手指,然后他们向上滑动手指的View移开,跟随他们的手指以显示下面的另一个View。我想要的是一种手势,可以提供类似于可以从屏幕顶部向下拉的通知框的结果。我一直在查看文档,但似乎找不到合适的手势。我看到一个叫做UISwipeGestureRecogniser的,但唯一的问题是,它不会跟随你的手指,它只是在我向上/向下滑动手指时运行一个函数。这是文档页面:https://developer.apple.com/documentation/uikit/uigesturer

ios - Swift UIGestureRecogniser 跟随手指

我正在使用Swift制作一个iOS8应用程序。我希望用户能够使用手势来显示界面的某些部分。因此,例如,用户向上滑动他们的手指,然后他们向上滑动手指的View移开,跟随他们的手指以显示下面的另一个View。我想要的是一种手势,可以提供类似于可以从屏幕顶部向下拉的通知框的结果。我一直在查看文档,但似乎找不到合适的手势。我看到一个叫做UISwipeGestureRecogniser的,但唯一的问题是,它不会跟随你的手指,它只是在我向上/向下滑动手指时运行一个函数。这是文档页面:https://developer.apple.com/documentation/uikit/uigesturer

ios - UIPanGestureRecognizer - 仅垂直或水平

我有一个View,它有一个UIPanGestureRecognizer可以垂直拖动View。所以在识别器回调中,我只更新y坐标来移动它。此View的父View有一个UIPanGestureRecognizer,它将水平拖动View,仅更新x坐标。问题是第一个UIPanGestureRecognizer正在获取垂直移动View的事件,所以我不能使用superview手势。我试过了-(BOOL)gestureRecognizer:(UIGestureRecognizer*)gestureRecognizershouldRecognizeSimultaneouslyWithGestureRe

ios - 使用 UIPanGestureRecognizer 垂直移动 UILabel 时,如何阻止它们在任一方向上走得太远?

我试图通过将UIPanGestureRecognizer附加到UILabel来让用户能够在View中上下移动UILabel>并随后将约束常量从UILabel更改为其View的顶部。所以基本上,如果手势识别器检测到它们向下移动12pts,则将约束常量移动12pts以移动UILabel。但是,我希望它们在达到某个垂直点(太高或太低)时停止进一步移动。我可以只检查平移手势的翻译,但我的UILabel可以是任意数量的行,所以如果它是五行而不是一行,显然它不能平移那么远,所以我不能依赖平移手势的翻译,我必须考虑标签的大小。所以我开始监视它的框架,它运行良好,但在我的实现中有一个恼人的结果,如果它

ios - UIPanGestureRecognizer 计算帧原点以保持相邻的 subview 位置以进行图像裁剪

我有一个cropView包含一个cropBoxViewsubview,该subview还包含四个方形subview,每个subview上都有一个UIPanGestureRecognizer以启用调整裁剪面积。我想做的是改变框架大小但保持相邻方角的位置,这意味着我需要计算一个新的原点。我能够成功更改帧大小,但我不知道如何计算新原点。目前,如果我平移View的右下角,它会按我想要的方式工作(无需在下面的代码中调整原点),因为相邻的角是左上角,所以它的原点不需要改变。如果能提供任何帮助,我将不胜感激。编辑:请参阅下面我的答案以获取结果和代码的示例GIFCGPointtranslation=[

ios - 使用 UIPanGestureRecognizer 缩放和移动 UIView

我有一个UIViewA。我在ViewA上放了一个图标,并尝试使用平移手势来缩放和移动这个ViewA。我已经尝试了很多解决方案,但我做不到。请建议帮助我?更多细节:我会添加更多细节。我有ViewA,在自身View上添加subview。我希望当我在ViewA上绘制panGestureRegonizer时,ViewA将跟随绘制移动。并且在移动ViewA时会缩放。当View移动到屏幕的顶部/左侧/底部/右侧时,ViewA将缩放到较小,而当View移动到屏幕中心时,ViewA将缩放到更大。 最佳答案 假设您有vc-ViewController

ios - UITableView 中的 UIPanGestureRecognizer 在 iOS8 上不起作用

我有一个UITableView,它包含带有UIPanGestureRecognizer的单元格。在iOS7上工作得很好,但在iOS8上不起作用。我已经尝试从UIGestureRecognizerDelegate中实现几种方法,但我无法使其工作。这就是我实现单元格的方式:-(void)awakeFromNib{self.panRecognizer=[[UIPanGestureRecognizeralloc]initWithTarget:selfaction:@selector(panning:)];self.panRecognizer.delegate=self;self.panReco

ios - UIPanGestureRecognizer - 立即移动 View

我只需要它根据平移手势移动一些View。问题是它不会立即发生,就像Applemap一样,如果我将手指放在一个点上,然后快速向任何方向移动,View会延迟移动,这意味着我将能够看到指出我的手指放在上面,这是我不想要的。也许由于硬件限制这是不可能的,因为在模拟器中它工作正常。或者也许有我不知道的更好方法。谢谢。-(IBAction)pan:(UIPanGestureRecognizer*)sender{CGPointcenter=[senderlocationInView:sender.view];self.myView.center=center;} 最佳答案