问题标签 [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.
iphone - UIGestureRecognizer 是否会出现在 iPhone 上而不仅仅是 iPad
我想UIGestureRecognizer
在 iPhone(不是 iPad)中使用这个类,Apple 会很快推出这个类吗?
iphone - Iphone SDK 中的同步手势识别器
UISwipeGestureRecognizer
我需要使用(例如,UISwipeGestureRecognizerDirectionRight
和UISwipeGestureRecognizerDirectionLeft
)来捕捉两个不同的滑动手势。当我使用addGestureRecognizer方法添加两个不同的识别器时,只有最后添加的识别器有效。我读过我需要实现gestureRecognizer:shouldRecognizeSimultaneouslyWithGestureRecognizer:协议方法UIGestureRecognizerDelegate
,但没有任何效果。
任何人都可以帮助捕捉两个或多个相同手势的简单示例吗?谢谢!
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)并且想要分享......
ipad - 平板电脑。UIBarButtonItem 有一个 UIToolbarTextButton 类型的未记录视图。嗯?
我有一个 iPad 应用程序,其中有一个视图控制器,它是许多 UIGestureRecognizers 的 UIGestureRecognizerDelegate。我已经实现了 UIGestureRecognizerDelegate 的以下方法:
}
我的设置是一个全屏 EAGLView,在 EAGLView 顶部有一个 UIToolbar。工具栏上有一个 UIBarButtonItem。这里的想法是双击任何地方都会切换工具栏的外观。所有其他手势必须发生在 EAGLView 上。
我的问题是直接点击 UIBarButtonItem 显示 touch.view 是 UIView 子类 UIToolbarTextButton ,它没有记录并且不能自省。
嗯?
有人可以建议一种解决方法,最好是使用某种形式的内省善良?
谢谢,
道格
谢谢,
道格
cocoa-touch - UIPanGestureRecognizer 起点已关闭
我有一个 UIView,它附加了一个 UIPanGestureRecognizer 手势工作正常,除了起点不是平底锅第一次开始的地方,它通常在 x 和 y 坐标中偏离 5 到 15 个像素。不幸的是,差异不是一致并且似乎与平移运动发生的速度有关。
为了验证触摸是否正确发送,我在子视图中添加了一个 touchesBegan 方法,它接收到正确的起点,但手势在开始阶段没有提供相同的点。我的日志中的一些示例如下“线起点”是从手势识别器接收到的第一个点。
有没有人见过这个问题?
关于如何解决这个问题而不必实现一个全新的 UIGestureRecognizer 的任何想法?
iphone - UIGestureRecognizer 是否适用于 UIWebView?
我试图让 UIGestureRecognizer 与 UIWebview 一起工作,它是 UIScrollView 的子视图。这听起来很奇怪,但是当我numberOfTouchesRequired
设置为 2 时,选择器会触发,但是当numberOfTouchesRequired
设置为 1 时,选择器不会触发。
这是我的代码:
我已经通过使用 UIGestureRecognizer 的 Apple 示例并在其 nib 中插入 webview 来确认这一点。他们的点击代码可以在任何地方工作,但在 web 视图的区域内。
iphone - 将 UITapGestureRecognizer 添加到视图然后删除似乎会使按钮事件短路
在下面的代码中,由于用户 touchUpInside 在一个简单的信息按钮上,我弹出了一个 ImageView。视图上还有其他按钮。
为了消除信息,我在控制器视图中添加了一个 UITapGestureRecognizer,并在检测到点击时隐藏视图。
如果我不删除 tapGestureRecognizer,则每次都会调用该操作。
即使我确实删除了手势操作,一旦添加了此手势识别器,按钮也不会收到 touchUpInside 事件。为什么?
我的 MainViewController 中的代码
iphone - UIScrollView 内的视图中的 UIgestureRecognizer
有没有人设法让 UIGestureRecognizer 在作为 UIScrollView 子视图的 UIView 上工作?我的回调似乎永远不会被调用。
作为一个简单的例子,我想要一个分页滚动视图,并在第三页上用 UITapGestureRecognizer 监听点击。但是我无法让它工作。
这是我的做法:
iphone - UIRotationGestureRecognizer 最小旋转值
是否可以设置 aUIRotationGestureRecognizer
过渡到所需的最小旋转值UIGestureRecognizerStateRecognized
?我正在使用多个识别器,并且我UIRotationGestureRecognizer
一直以非常小的旋转(在 1 到 15 度之间任一方向)而不是我的UIPinchGestureRecognizer
.
我想做的只是在旋转在一定范围内时才调用旋转,否则取消它并调用捏合。
objective-c - 如何做 iPad Photos 应用程序捏扩大
我认为这个网站以前没有问过这个问题,但我可能错了。
有谁知道如何使用 iPad Photos 应用程序获得整体效果的基础知识?基本上,捏一叠照片可以让您“窥视”该堆叠中的照片,该照片会根据您两根手指之间的距离进行扩展,然后完全完成向外捏合手势以打开堆叠中的照片新观点。
请参阅此视频以了解我的意思。我知道至少有一个第三方应用程序使用与 iPad Photo 应用程序相同的方法,所以我知道这是可能的。我猜我会用UIPinchGestureRecognizer做一些事情,但我不确定如何进行。