草庐IT

uigesturerecognizer

全部标签

ios - 在选项卡栏 Controller 中为导航 Controller 禁用和启用向后滑动的正确方法

我有一个带有三个选项卡的TabBarController。第一个和最后一个选项卡是导航Controller,我想在其中启用向后滑动。中间的选项卡只是一个标准的viewController。默认情况下,似乎未启用向后滑动。我想那是因为我在这两个navigationControllers中使用了后退按钮。我在两个导航Controller的RootViewController中尝试了以下代码来启用它:在viewDidLoad中:self.navigationController?.interactivePopGestureRecognizer?.delegate=self并符合UIGestu

ios - 使用任何手势关闭 UIPopoverPresentationController,而不仅仅是点击

所以我有一个显示一些内容的简单UIPopoverPresentationController。用户可以通过点击屏幕上的任意位置来关闭它(默认弹出行为)。如果用户在屏幕上进行任何类型的点击或手势,我希望弹出窗口被关闭。最好是拖动手势。知道这是否可能吗?以及如何? 最佳答案 尝试使用touchesBegan:withEvent方法overridefunctouchesBegan(touches:Set,withEventevent:UIEvent?){iflettouch=touches.first{iftouch.view==self

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