草庐IT

UIGestureRecognizer

全部标签

ios - 摇动手势不适用于 iOS

我使用了collectionView并在我的ViewController(名为:“DashboardViewController”)中实现了拉动同步(pull_Down_To_Get_Data_From_Server)。我试过摇晃手势代码(在下面给出)在我的DashboardViewController中,它不工作但类似的代码在同一应用程序的另一个viewController中工作。我第一次尝试在viewDidLoad中使用了canBecomeFirstResponder,然后在viewDidAppear中使用了canBecomeFirstResponder,但它也没用。要求:实际上我

ios - 自定义 Swift UIGestureRecognizer 不调用分配的操作

我有一个UIViewController,其中一个View添加了自定义UIGestureRecognizer。问题是我从DialGestureRecognizer获得了所有触摸打印线,但从未调用过handleDial操作。(iOS8/Xcode6.1.1)我做错了什么?任何帮助表示赞赏。@IBOutletvardialView:UIView?overridefuncviewDidLoad(){super.viewDidLoad()iflet_dialView=dialView?{letrecognizer=DialGestureRecognizer(target:self,action

ios - 如何将手势识别器添加到 ViewController 及其子项?

我正在制作类似于EuroSport的应用程序。我的rootviewController是pageViewController,它有3个VC。左右滑动可以更改VC。接下来,我添加了侧边栏菜单。我想将手势识别器添加到整个rootViewController。这就是我添加手势的方式:self.exitPanGesture=UIPanGestureRecognizer()self.exitPanGesture.addTarget(self,action:"handleOffstagePan:")self.sourceViewController.view.addGestureRecognize

ios - 捕捉手势识别器开始状态的 Swift 惯用方法

iOS手势识别器在不同的状态之间移动。在第一个开始状态捕获引用状态是很常见的(至少对我而言)。在ObjectiveC中,这可能类似于:-(void)pan:(UIPanGestureRecognizer*)pan{staticNSTimeIntervaloriginalBegin;staticNSTimeIntervaloriginalEnd;staticCGFloatoriginalYOffset;if(pan.state==UIGestureRecognizerStateBegan){originalBegin=self.timeAxis.begin;originalEnd=sel

ios - 同一 View (从可 ScrollView 中拖动 View )上的多个手势无法正常工作?

为了让我的panGesture(附加到UIImageView)被调用,我需要确保用户没有在图像所在的水平ScrollView中滚动。我是这样实现的:letpanGesture=UIPanGestureRecognizer(target:self,action:#selector(self.handlePan(_:)))panGesture.require(toFail:self.scrollView.panGestureRecognizer)这很好用,但是因为scrollView仅是水平,所以它仅允许panGesture水平工作。我也想垂直拉UIImage,但是什么也没有发生,因为显然

ios - Pan Gesture - 滑动手势冲突

我正在尝试创建一个应用程序来复制Apple的照片应用程序(iPhone)的缩放、平移和滚动照片图像的功能。(我也想在查看pdf和其他文档时使用相同的控件。)我得到了点击手势来显示/隐藏导航栏和滑动手势来从左到右滚动图像,反之亦然。然后我得到了缩放手势来放大和缩小,但是当我添加平移手势以在缩放图像中四处移动时,滑动手势停止工作。我在StackOverflow的其他地方找到了潜在的解决方案,包括使用shouldRecognizeSimultaneouslyWithGestureRecognizer,但到目前为止我还没有能够解决冲突。有什么建议吗?代码如下:funcgestureRecogn

iOS/swift : How to implement longPressed action for backButton?

我正在尝试为我的应用中的每个ViewController实现一个自定义后退按钮。我希望它有两个Action。如果按钮被点击,它应该正常运行并进入导航堆栈。如果按钮被按下时间越长,它应该转到预定义的ViewController。如何在swift中仅针对后退按钮实现此目的? 最佳答案 您可以隐藏默认导航后退按钮并通过这种方式添加自定义按钮:importUIKitclassSViewController:UIViewController{overridefuncviewDidLoad(){super.viewDidLoad()//hide

iOS - 为 View 中的多个 Tableviews 或 Collectionviews 使用/传递手势识别器(Swift)

我的View中有2个(圆形)UICollectionview,它们都在运行,但我想对两个View使用1个滑动手势,所以当我在顶部的collectionview上滑动时,底部的View也应该以相同的速度滑动并且反之亦然。实现这一目标的最佳方法是什么?这是我的UIViewController:每当我在这个UIViewController上的任何地方滚动时,两个CollectionView都应该滚动。任何帮助将不胜感激。 最佳答案 设置collectionView的scrollView的scrollViewdelegate。UIColle

ios - 使用 UIPanGestureRecognizer- Swift 3 旋转 ImageView

我正在尝试根据它所在的X坐标旋转我拥有的ImageView。基本上,我希望它在x=300时旋转0º,在x=190时旋转180º。我必须以编程方式对UIPanGestureRecognizer进行编程。这是我目前拥有的代码:@objcfuncpersonDrag(recognizer:UIPanGestureRecognizer){letrotationSub:CGFloat=1lettranslation=recognizer.translation(in:rView)ifletview=recognizer.view{view.center=CGPoint(x:view.center

ios - 如何禁用 "gesture recognizer"(XMCircleGestureRecognizer)?

对于我正在构建的应用程序,我正在使用thisclass,并且,因为我在不使用苹果手势识别器的情况下识别其他手势,例如轻击、滑动或长按(我已经构建了自己的手势,因为苹果的手势识别器非常准确)我希望能够禁用XMCircleGestureRecognizer,并且只是在我需要的时候启用它。问题是,当我在某些情况下调用它时,即使我将手指从屏幕上移开并再次触摸屏幕,它仍然在XMCircleGestureRecognizer中,并且永远不会离开它。我必须终止该应用程序并重新启动它。我不确定是否有必要提供我的一些代码,但如果需要,请告诉我(它有600行长,所以很难只获得你需要的部分)。你知道我该怎么