ios - 在实例化时从按下状态开始 UIPanGesture 事件

标签 ios xcode swift uiview uigesturerecognizer

如果在实例化对象时手指已经按下,是否有方法开始 UIPanGestureEvent?

我遇到这样一种情况,当用户在屏幕上按住他们的查找内容时,我会在他们的手指下创建一个 UIView。

我希望他们能够拖动它,因此我在 UIView 中放置了一个 UIPanGestureRecognizer。

问题是我需要 Handlebars 指拿开再放回去以触发 UIPanGestureRecognizer 启动。我需要它从已经按下的状态开始。

您知道我如何从已按下的状态激活 UIPanGesture,即我能否获取在实例化时已经激活的触摸事件并传递它?

最佳答案

您可以这样做,但是 UIPanGestureRecognizer 需要已经存在于您创建的 View 后面(然后您必须根据此调整您的计算;并不困难)。

原因是,在您描述的情况下,触摸不属于您创建的 UIView - 它属于它背后的 UIView,即用户最初触摸的那个。考虑到 iOS 触摸交付的性质,您无法轻易更改它。所以让那个 View ,实际的原始触摸 View ,来处理这个触摸会更简单。

关于ios - 在实例化时从按下状态开始 UIPanGesture 事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27790899/

相关文章:

ios - [iOS 13] : Fatal Exception: NSInvalidArgumentException Can't add self as subview ([NSCache init])

ios - 在 Swift 中编写库时使用开源

iOS5 自定义窗口旋转问题

ios - IOS 5 中的选项卡切换

具有缩放功能的 iOS UIView/UIScrollView 覆盖

iphone - 在 iOS 3.0 中测试 iPhone 应用程序

ios - 无法在 Interface Builder 上预览 IBDesignable 自定义组件

Cocoa 应用程序无法在 32 位 Intel 上启动?

ios - 键盘打开时移动 View 的问题

swift - 如何给 UITableView 动态高度