问题标签 [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 投票
3 回答
612 浏览

iphone - UIGestureRecognizer 是否会出现在 iPhone 上而不仅仅是 iPad

我想UIGestureRecognizer在 iPhone(不是 iPad)中使用这个类,Apple 会很快推出这个类吗?

0 投票
5 回答
35837 浏览

iphone - Iphone SDK 中的同步手势识别器

UISwipeGestureRecognizer我需要使用(例如,UISwipeGestureRecognizerDirectionRightUISwipeGestureRecognizerDirectionLeft)来捕捉两个不同的滑动手势。当我使用addGestureRecognizer方法添加两个不同的识别器时,只有最后添加的识别器有效。我读过我需要实现gestureRecognizer:shouldRecognizeSimultaneouslyWithGestureRecognizer:协议方法UIGestureRecognizerDelegate,但没有任何效果。

任何人都可以帮助捕捉两个或多个相同手势的简单示例吗?谢谢!

0 投票
15 回答
16629 浏览

cocoa-touch - 如何像 iPad 应用程序上常见的撤消/重做 UIPopoverController 方案一样将 UIGestureRecognizer 添加到 UIBarButtonItem?

问题

在我的 iPad 应用程序中,我无法在按住事件后将弹出框附加到按钮栏项目。但这似乎是撤消/重做的标准。其他应用程序如何做到这一点?

背景

我的 UIKit (iPad) 应用程序的工具栏中有一个撤消按钮 (UIBarButtonSystemItemUndo)。当我按下撤消按钮时,它会触发撤消操作:并且正确执行。

但是,iPad 上撤消/重做的“标准 UE 约定”是按下撤消执行撤消,但按住按钮会显示一个弹出控制器,其中用户选择“撤消”或“重做”,直到控制器被解除。

附加弹出框控制器的常规方法是使用 presentPopoverFromBarButtonItem:,我可以很容易地配置它。为了让它仅在按住后显示,我们必须设置一个视图来响应“长按”手势事件,如以下代码段所示:

这样,在按住视图后,将调用方法 handleLongPressOnUndoGesture:,在此方法中,我将配置并显示用于撤消/重做的弹出框。到目前为止,一切都很好。

这样做的问题是没有可附加的视图。self.undoButtonItem 是 UIButtonBarItem,而不是视图。

可能的解决方案

1) [理想]将手势识别器附加到按钮栏项目。可以将手势识别器附加到视图,但 UIButtonBarItem 不是视图。它确实具有 .customView 的属性,但是当 buttonbaritem 是标准系统类型(在本例中是)时,该属性为 nil。

2)使用另一个视图。我可以使用 UIToolbar 但这将需要一些奇怪的命中测试并且是一个全方位的黑客,如果可能的话。我想不出其他可以使用的替代视图。

3)使用 customView 属性。像 UIBarButtonSystemItemUndo 这样的标准类型没有 customView(它是 nil)。设置 customView 将删除它需要的标准内容。这相当于重新实现 UIBarButtonSystemItemUndo 的所有外观和功能,如果可能的话。

问题

如何将手势识别器附加到此“按钮”?更具体地说,如何在 iPad 应用程序中实现标准的按住以显示重做弹出窗口?

想法?非常感谢你,特别是如果有人真的在他们的应用程序中有这个工作(我在想你,omni)并且想要分享......

0 投票
1 回答
1881 浏览

ipad - 平板电脑。UIBarButtonItem 有一个 UIToolbarTextButton 类型的未记录视图。嗯?

我有一个 iPad 应用程序,其中有一个视图控制器,它是许多 UIGestureRecognizers 的 UIGestureRecognizerDelegate。我已经实现了 UIGestureRecognizerDelegate 的以下方法:

}

我的设置是一个全屏 EAGLView,在 EAGLView 顶部有一个 UIToolbar。工具栏上有一个 UIBarButtonItem。这里的想法是双击任何地方都会切换工具栏的外观。所有其他手势必须发生在 EAGLView 上。

我的问题是直接点击 UIBarButtonItem 显示 touch.view 是 UIView 子类 UIToolbarTextButton ,它没有记录并且不能自省。

嗯?

有人可以建议一种解决方法,最好是使用某种形式的内省善良?

谢谢,
道格

谢谢,

道格

0 投票
6 回答
7049 浏览

cocoa-touch - UIPanGestureRecognizer 起点已关闭

我有一个 UIView,它附加了一个 UIPanGestureRecognizer 手势工作正常,除了起点不是平底锅第一次开始的地方,它通常在 x 和 y 坐标中偏离 5 到 15 个像素。不幸的是,差异不是一致并且似乎与平移运动发生的速度有关。

为了验证触摸是否正确发送,我在子视图中添加了一个 touchesBegan 方法,它接收到正确的起点,但手势在开始阶段没有提供相同的点。我的日志中的一些示例如下“线起点”是从手势识别器接收到的第一个点。

有没有人见过这个问题?

关于如何解决这个问题而不必实现一个全新的 UIGestureRecognizer 的任何想法?

0 投票
7 回答
38297 浏览

iphone - UIGestureRecognizer 是否适用于 UIWebView?

我试图让 UIGestureRecognizer 与 UIWebview 一起工作,它是 UIScrollView 的子视图。这听起来很奇怪,但是当我numberOfTouchesRequired设置为 2 时,选择器会触发,但是当numberOfTouchesRequired设置为 1 时,选择器不会触发。

这是我的代码:

我已经通过使用 UIGestureRecognizer 的 Apple 示例并在其 nib 中插入 webview 来确认这一点。他们的点击代码可以在任何地方工作,但在 web 视图的区域内。

0 投票
2 回答
7003 浏览

iphone - 将 UITapGestureRecognizer 添加到视图然后删除似乎会使按钮事件短路

在下面的代码中,由于用户 touchUpInside 在一个简单的信息按钮上,我弹出了一个 ImageView。视图上还有其他按钮。

为了消除信息,我在控制器视图中添加了一个 UITapGestureRecognizer,并在检测到点击时隐藏视图。

如果我不删除 tapGestureRecognizer,则每次都会调用该操作。

即使我确实删除了手势操作,一旦添加了此手势识别器,按钮也不会收到 touchUpInside 事件。为什么?

我的 MainViewController 中的代码

0 投票
2 回答
9005 浏览

iphone - UIScrollView 内的视图中的 UIgestureRecognizer

有没有人设法让 UIGestureRecognizer 在作为 UIScrollView 子视图的 UIView 上工作?我的回调似乎永远不会被调用。

作为一个简单的例子,我想要一个分页滚动视图,并在第三页上用 UITapGestureRecognizer 监听点击。但是我无法让它工作。

这是我的做法:

0 投票
1 回答
1139 浏览

iphone - UIRotationGestureRecognizer 最小旋转值

是否可以设置 aUIRotationGestureRecognizer过渡到所需的最小旋转值UIGestureRecognizerStateRecognized?我正在使用多个识别器,并且我UIRotationGestureRecognizer一直以非常小的旋转(在 1 到 15 度之间任一方向)而不是我的UIPinchGestureRecognizer.

我想做的只是在旋转在一定范围内时才调用旋转,否则取消它并调用捏合。

0 投票
1 回答
2536 浏览

objective-c - 如何做 iPad Photos 应用程序捏扩大

我认为这个网站以前没有问过这个问题,但我可能错了。

有谁知道如何使用 iPad Photos 应用程序获得整体效果的基础知识?基本上,捏一叠照片可以让您“窥视”该堆叠中的照片,该照片会根据您两根手指之间的距离进行扩展,然后完全完成向外捏合手势以打开堆叠中的照片新观点。

请参阅视频以了解我的意思。我知道至少有一个第三方应用程序使用与 iPad Photo 应用程序相同的方法,所以我知道这是可能的。我猜我会用UIPinchGestureRecognizer做一些事情,但我不确定如何进行。