问题标签 [uigesturerecognizer]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
462 浏览

ipad - iPad - Simultaneous recognition of the same gesture

I need have a view where users can draw multiple rectangles. Now I need to be able to move those rectangles using a Pan gesture. The problem I am having is that I can move any single rectangle with the Pan gesture recognizer with no problem. Now when I use 2 fingers to Pan 2 rectangles to move simultaneously it doesn't work.

Seem to me that the problem is the target/action that I specified for the pan gesture gets fired only once.

My view adopts the UIGestureRecognizerDelegate and has defined this delegate method:

Thanks in advance!

0 投票
2 回答
2732 浏览

ipad - UISwipeGestureRecognizer、UITapGestureRecognizer 和 MPMoviePlayerController 的问题 :-(

这让我完全难住了!

我有一个用于显示/隐藏菜单的点击手势识别器......

我还有一个滑动手势识别器,用于在屏幕之间左右滑动......

然后我还有一个 MPMoviePlayerController 用于在屏幕上播放视频。

我正在实现gestureRecognizer:shouldReceiveTouch:并排除所有 UIControls 和任何具有前缀“MP”的东西。

问题是,每当我在电影播放器​​控件上左右滑动时,shouldReceiveTouch只会注意到点击手势识别器,而不是滑动。它还正确地跟踪 NO,但仍然触发了刷卡方法。

我试过看,gestureRecognizer:shouldRecognizeSimultaneouslyWithGestureRecognizer:otherGestureRecognizer但这真的让我很困惑,因为它还包含一个 UIPanGestureRecognizer ......这是从哪里来的?

请帮忙,我很累,而且截止日期很长......而且无法解决:(

谢谢你们!

:-乔

0 投票
3 回答
43723 浏览

ios - 如何在 iOS 中检测滑动手势?

在我的 iPhone 应用程序中,我需要识别用户在视图上做出的滑动手势。

我希望识别滑动手势并在滑动时执行功能。

我需要视图应该水平滑动并在用户做出滑动手势时显示另一个视图。

需要做什么?

我如何识别它?

0 投票
2 回答
1432 浏览

iphone - 如何在 iPhone 应用程序中的滑动手势上水平滑动视图?

在我的 iPhone 应用程序中,我希望用户可以在滑动手势上滑动视图。

我希望在滑动手势上视图应该水平滑动,就好像所有视图都缝合在一起一样。

它应该是平滑的视图运动。

我应该怎么办?

请帮助和建议

谢谢。

0 投票
1 回答
1868 浏览

iphone - 使用 UIGestureRecognizer 子类双击某些特定子视图?

我按照 121 WWDC 2010(高级手势识别)的会话演示找到了一种方法,可以在另一个类(TransformGestureReconizer)上拥有所有行为(旋转、缩放、翻译),一切顺利,并为子视图执行此操作:

这是我的问题:当我双击所需的子视图时,我想采取行动。

所以如果我添加一个:

如果我在主视图上添加,我无法选择我的操作提供的视图(例如更改其上的图像):

我只能处理主视图上的双击,但不能处理子视图,并且只能在TransformGestureReconizer.h但不能选择被点击的视图上执行此操作(我认为是因为 UIGestureRecognizer 的子类)。

0 投票
1 回答
1924 浏览

uigesturerecognizer - UITapGestureRecognizer 等待第二次点击,按钮慢

我有一个 UITapGestureRecognizer 等待双击以将滚动视图缩小到原始级别。但是有一种情况是我在滚动视图的顶部添加了几个按钮。这些按钮的反应非常缓慢(缓慢),因为一旦我点击一个按钮,应用程序就会等待第二次点击。如果没有出现,则按下按钮。

任何人都知道如何让按钮快速响应?我可以在按钮启动时暂时禁用 GestureRecogniser 吗?

干杯尼克

0 投票
2 回答
168 浏览

iphone - iPhone模拟器可以检测到滑动手势吗?

我对 UISwipeGestureRecognizer 类有疑问

iPhone模拟器可以检测到UISwipeGestureRecognizer吗?

请让我知道你的答案

0 投票
2 回答
863 浏览

iphone - 检测在视野之外开始的触摸

当手势在当前视图之外开始时,有没有办法检测触摸?

示例:
我有一个小视图,可以在其中检测到触摸。
用户开始在屏幕上移动手指,从视图之外开始,然后无需抬起手指即可进入。
当手指进入视图时,视图不会得到任何触摸事件。

0 投票
2 回答
1527 浏览

iphone - Iphone 中的 NavigationController / TableView 内存泄漏

最近我完成了我的第一个 Iphone 应用程序,它运行良好....除了当我使用仪器进行紧张的会话后一段时间没有泄漏时发现泄漏,突然获得大约 1.3Kb 的价值。在堆栈跟踪中,它们都指向我在将 UIViewControler 推送到导航控制器后释放它的确切行(我将把这段代码贴得更远一点)。几次浏览 ViewControlers 并再次返回后,泄漏似乎发生了。我知道这是一个非常普遍的问题,但我希望有人能指出我正确的方向。我花了几天时间试图解决这个问题,它开始让我发疯!

我的应用程序是基于导航的应用程序,简而言之,它的工作原理如下:

从 UIViewControler 开始,当按下按钮时,它会转到另一个包含 TableView 的 UIViewControler。从这里根据填充 TableView 的数组的内容,它可以转到包含 PickerView 的 UIViewControler,然后转到最后一个 UIViewControler,或者直接转到最后一个 UIViewControler,绕过带有 PickerView 的那个。

这是堆栈跟踪显示泄漏已打开的代码:

NavigationController 现在不应该负责这个 UIViewcontroler 吗?我没有在其他任何地方调用第三个保留,它只存在于这个函数中。

我有一堆来自 UIkit 和 QuartsZone 的泄漏。我有其中一些的屏幕截图,在堆栈跟踪中都指向相同的代码片段,在同一个函数中,在同一个对象中,如上所述,在跟踪中的某个点:

这是图片的链接,因为我还不能发布图片:链接不再有效

这是列表中第一个 GeneralBlock-16 的完整堆栈跟踪。粗体字(第 29 行)是上面的代码片段:


0 libSystem.B.dylib malloc

1 核心基础-[__NSArrayM insertObject:atIndex:]

2 核心基础-[__NSArrayM addObject:]

3 UIKit-[UIView(UIViewGestures) addGestureRecognizer:]

4 UIKit-[UISwitch_commonInit]

5 UIKit-[UISwitch initWithCoder:]

6 UIKit UINibDecoderDecodeObjectForValue

7 UIKit UINibDecoderDecodeObjectForValue

8 UIKit-[UINibDecoder decodeObjectForKey:]

9 UIKit-[UIView initWithCoder:]

10 UIKit UINibDecoderDecodeObjectForValue

11 UIKit-[UINibDecoder decodeObjectForKey:]

12 UIKit-[UIRuntimeConnection initWithCoder:]

13 UIKit UINibDecoderDecodeObjectForValue

14 UIKit UINibDecoderDecodeObjectForValue

15 UIKit-[UINibDecoder decodeObjectForKey:]

16 UIKit -[UINib 实例化WithOwner:选项:]

17 UIKit-[NSBundle(UISBundleAdditions) loadNibNamed:owner:options:]

18 UIKit-[UIViewController _loadViewFromNibNamed:bundle:]

19 UIKit-[UIViewController 加载视图]

20 UIKit-[UIViewController 视图]

21 UIKit-[UIViewController 内容滚动视图]

22 UIKit-[UINavigationController _computeAndApplyScrollContentInsetDeltaForViewController:]

23 UIKit-[UINavigationController_layoutViewController:]

24 UIKit-[UINavigationController_startTransition:fromViewController:toViewController:]

25 UIKit-[UINavigationController _startDeferredTransitionIfNeeded]

26 UIKit-[UINavigationController pushViewController:transition:forceImmediate:]

27 UIKit 0x6ea9b5

28 UIKit-[UINavigationController pushViewController:animated:]

29 诱杀陷阱-[SelectEventTypeviewcontroler ChooseThisOne] /Users/chriswyllie/Documents/Booby Trap/Booby Trap/Classes/SelectEventTypeviewcontroler.m:91

30 核心基础-[NSObject(NSObject) performSelector:withObject:withObject:]

31 UIKit-[UIApplication sendAction:to:from:forEvent:]

32 UIKit-[UIApplication sendAction:toTarget:fromSender:forEvent:]

33 UIKit-[UIControl sendAction:to:forEvent:]

34 UIKit-[UIControl(内部)_sendActionsForEvents:withEvent:]

35 UIKit-[UIControl touchesEnded:withEvent:]

36 UIKit-[UIWindow_sendTouchesForEvent:]

37 UIKit-[UIWindow 发送事件:]

38 UIKit-[UIApplication 发送事件:]

39 UIKit_UIApplicationHandleEvent

40 图形服务 PurpleEventCallback

41核心基础 CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE1_PERFORM_FUNCTION

42 核心基础 __CFRunLoopDoSource1

43 核心基础 __CFRunLoopRun

44 CoreFoundation CFRunLoopRunSpecific

45 核心基础 CFRunLoopRunInMode

46 图形服务 GSEventRunModal

47 图形服务 GSEventRun

48 UIKit-[UIApplication_run]

49 UIKit UIApplicationMain

50 诱杀装置主 /Users/chriswyllie/Documents/Booby Trap/Booby Trap/main.m:14

51 陷阱开始


提前感谢您的帮助,我希望我只是在做一些愚蠢的事情,我需要一双新的眼睛才能看到它。如果您需要更多信息,请告诉我。

0 投票
3 回答
14415 浏览

iphone - UISwipeGestureRecognizer 不工作

我在 UIScrollView 中有一个 UIView,两者都是使用 IB 创建的。UIView 在 UIScrollView 内水平滚动。我想检测左右两指滑动。

借用我在 SmpleGestureRecognizers中找到的示例代码,我将以下代码放在 UIScrollView 的 ViewController 的 viewDidLoad 方法中......

我已经在 viewcontroller.h 中设置了。并具有以下委托方法...

我假设这是一个有效的 gestureRecognizer 委托方法,但我在文档中找不到任何对它的引用。

我没有收到任何错误,但是当我用 2 根手指滑动时没有任何反应。委托方法没有被调用,我的操作方法也没有。我尝试删除 numbeOfTouchesRequired 调用以查看它是否可以通过单指滑动来工作,但无济于事。

我是否将gestureRecognizers添加到正确的视图中?我尝试将它添加到 UIView、UIScrollView 以及 self.view.superView。

示例代码运行良好。在我的代码实现和示例代码之间我能看到的唯一区别是我使用 IB 创建视图而示例代码没有。我怀疑在滑动手势到达我的识别器之前,某些东西正在消耗它。

我究竟做错了什么。

谢谢,

约翰