即使未实现,uilongpressgesturerecognizer也会崩溃

2024-03-24

我尝试了所有可能的搜索,但一周内没有找到任何类似的东西。 我正在制作一个显示表格视图的应用程序。单元格(由自定义类和 Interface Builder 创建)可以使用 UIPanGestureRecognizer 进行拖动,该 UIPanGestureRecognizer 是 Cell 类中的 pu 。 一切正常,除了当我将手指按住单元格时,应用程序崩溃并出现错误:

-[UILongPressGestureRecognizer translationInView:]: unrecognized selector sent to instance 0x94670a0
*** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[UILongPressGestureRecognizer translationInView:]: unrecognized selector sent to instance 0x94670a0'

我知道它的含义(通常是发送到实例的错误参数),但我真的不知道这怎么可能,因为我的代码中没有 UILongPressGestureRecognizer 的痕迹。 我试图在任何地方拦截 LongPressGestureREcognizer (在单元格类中,在表视图的类中,在分配每个单元格之前),但错误仍然是相同的(我查看了主题中的许多线程并相信我,语法是正确的。

如果您需要任何其他文档,请随时询问(这是我在这里发表的第一篇文章,我不知道我到底要展示什么)。

感谢您的宝贵帮助。

好吧,问题仍然存在,抱歉打扰:( 我设法设置一个断点并打印堆栈跟踪。这里是:

0   uBellow                             0x0000ac57 -[OpinionCell gestureRecognizerShouldBegin:] + 71
1   UIKit                               0x00914939 -[UIGestureRecognizer _shouldBegin] + 1334
2   UIKit                               0x0091181a -[UIGestureRecognizer setState:] + 152
3   UIKit                               0x00921cea -[UILongPressGestureRecognizer enoughTimeElapsed:] + 127
4   libobjc.A.dylib                     0x017186b0 -[NSObject performSelector:withObject:] + 70
5   UIKit                               0x00787954 -[UIDelayedAction timerFired:] + 83
6   Foundation                          0x0114d2c0 __NSFireTimer + 97
7   CoreFoundation                      0x01bce376 __CFRUNLOOP_IS_CALLING_OUT_TO_A_TIMER_CALLBACK_FUNCTION__ + 22
8   CoreFoundation                      0x01bcde06 __CFRunLoopDoTimer + 534
9   CoreFoundation                      0x01bb5a82 __CFRunLoopRun + 1810
10  CoreFoundation                      0x01bb4f44 CFRunLoopRunSpecific + 276
11  CoreFoundation                      0x01bb4e1b CFRunLoopRunInMode + 123
12  GraphicsServices                    0x022337e3 GSEventRunModal + 88
13  GraphicsServices                    0x02233668 GSEventRun + 104
14  UIKit                               0x00648ffc UIApplicationMain + 1211
15  uBellow                             0x0000287d main + 141
16  uBellow                             0x000027a5 start + 53

应用程序阻止代码:

-(BOOL)gestureRecognizerShouldBegin:(UIPanGestureRecognizer *)gestureRecognizer {
CGPoint translation = [gestureRecognizer translationInView:[self superview]];

编辑 我通过拦截 UILongPressGestureRecognizer 解决了,这是一种安全的方法吗?

-(BOOL)gestureRecognizerShouldBegin:(UIPanGestureRecognizer *)gestureRecognizer {
if([gestureRecognizer isKindOfClass:[UILongPressGestureRecognizer class]]){
    return NO;
}else{
CGPoint translation = [gestureRecognizer translationInView:[self superview]];
// Check for horizontal gesture
if (fabsf(translation.x) > fabsf(translation.y)){
    return YES;
}
}
return NO;}

我通过检查解决了这个问题type您收到的gestureRecognizer的。

有时我会收到“UILongPressGestureRecognizer“而不是”UIPanGestureRecognizer".

尝试这个:

-(BOOL)gestureRecognizerShouldBegin:(UIPanGestureRecognizer *)gestureRecognizer {
    if ([gestureRecognizer class] == [UIPanGestureRecognizer class]) {
        CGPoint translation = [gestureRecognizer translationInView:[self superview]];

        return YES;
    }
    return NO;
}

Update

斯威夫特2.0版本

override func gestureRecognizerShouldBegin(gestureRecognizer: UIGestureRecognizer) -> Bool {
    guard let panGestureRecognizer = gestureRecognizer as? UIPanGestureRecognizer else { return false }

    let translation = panGestureRecognizer.translationInView(self.superview)
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

即使未实现,uilongpressgesturerecognizer也会崩溃 的相关文章

  • 如何将任意颜色的色度键滤镜应用到实时摄像头源ios?

    基本上我想将色度键滤镜应用到 ios 实时摄像头源 但我希望用户选择将被另一种颜色替换的颜色 我找到了一些使用绿屏的示例 但我不知道如何动态替换颜色而不仅仅是绿色 知道如何以最佳性能实现这一目标吗 您之前曾询问过我的情况GPUImage h
  • 如何在iOS应用程序中实现信号量?

    是否可以在ios应用程序中实现计数信号量 对的 这是可能的 有很多可用的同步工具 同步 NSLock NS条件 NS条件锁 GCD 信号量 并行线程锁 我建议阅读 线程编程指南 http developer apple com librar
  • UIButton 触摸事件落入底层视图

    我创建了一个小UIView其中包含两个UIButton是 视图响应UITapGesture事件 按钮应该响应TouchUpInside 但是当我点击按钮时 响应者是底层视图 并且点击手势选择器被触发 寻找意见或建议 您可以修改橙色视图中响应
  • RestKit链接器错误

    我一直遵循 RestKit 安装说明 但现在在尝试构建应用程序时出现错误 这是针对 ios iPad 的 我收到 命令 Developer Platforms iPhoneSimulator platform Developer usr b
  • 在 UILongPressGestureRecognizer 上,如何检测哪个对象生成了事件?

    我有几个 UIButton 的视图 我已成功使用 UILongPressGestureRecognizer 实现 并使用以下内容作为选择器 void longPress UILongPressGestureRecognizer gestur
  • XcodeColors 在 XCode 5 中不起作用

    我尝试安装XcodeColors在 XCode 5 中 但不幸的是 它不能与我从 XCode 4 6 获得的旧插件一起使用 下一步 我检查了 github 网站 在那里我看到了以下拉取请求 提供了 XCode 5 的工作版本 https g
  • 如何将 JPG 文件加载到 NSBitmapImageRep 中?

    Objective C 可可 我需要将 JPG 文件中的图像加载到二维数组中 以便可以访问每个像素 我正在尝试 未成功 将图像加载到 NSBitmapImageRep 中 我尝试了以下两行代码的几种变体 NSString filePath
  • PreferredInterfaceOrientationForPresentation 必须返回受支持的界面方向 (iOS 6)

    我的应用程序窗口的根视图控制器是 UINavigationController 的子类 我已将此代码添加到类中 BOOL shouldAutorotate return self topViewController shouldAutoro
  • 为什么 Objective-C 使用 YES 和 NO 而不是 1 和 0? [关闭]

    Closed 这个问题是基于意见的 help closed questions 目前不接受答案 Objective C 使用 YES 和 NO 而不是 1 和 0 是否有任何技术原因 或者只是为了使其更具可读性 使其更具可读性is技术原因
  • 如何在 Swift 编程中获得基于导航的模板功能

    我的项目需要一个导航控制器 并且我的应用程序最初有一个社交登录 一旦验证通过 用户将被推送到另一个视图 我在其中显示一个具有 2 个选项卡的选项卡控制器 我不知道如何在 Swift 编程中做到这一点 我已将视图控制器嵌入到导航控制器中 一旦
  • 使用 PHP 和 jSON 从 MySQL 获取 UIImage

    我正在开发一个小型新闻阅读器 它通过对 URL 执行 POST 请求来从网站检索信息 响应是一个带有未读新闻的 JSON 对象 例如 应用程序上的最新新闻的时间戳为 2013 03 01 当用户刷新表时 它会发布 domain com ap
  • 空 NSDatePicker

    你好 是否可以让 NSDatePicker 代表 nil 对象 类似 或任何其他方式 谢谢 拉杜 简短回答 否 NSDatePicker 只是忽略无效日期和 nil 例如 这不会更新 NSDatePicker 旧值仍然存在 datePick
  • GIDSignIn 在提示前指定范围

    我在 iOS 上升级到 GoogleSignIn 6 0 但找不到在登录时指定登录范围的方法 我只能看到一个名为 addScopes 的 API 我可以在基本登录后指定范围 但这会导致两个单独的登录提示 这很奇怪 之前 我们可以简单地指定登
  • 我可以对图像进行动画处理吗 iOS8 LaunchScreen.xib

    问题 有没有方法可以为针对 iOS 8 1 部署的 Xcode 6 项目的 LaunchScreen xib 文件中的任何内容设置动画 Context 我正在寻找制作简单的动画来传达活动或在用户等待时分散他们的注意力 例子 加载栏 活动指示
  • 如何将图像放在 UIButton 中文本的右侧?

    如果可以避免的话 我不想使用子视图 我想要一个UIButton其中包含背景图像 文本和图像 现在 当我这样做时 图像位于文本的左侧 背景图像 文本和图像都有不同的高亮状态 最简单的解决方案 iOS 10 及更高版本 Swift button
  • 滚动视图下的iOS swift 4 imageview:双击缩小

    我已经应用了图像视图来通过捏合来放大 缩小 那很容易 当在图像视图上应用双击时 无法检测到选择方法 我使用 Xcode 9 和 swift 4 您能告诉我滚动视图是否应该应用双击手势吗 var previewImage UIImage ni
  • Swift 中的 AURenderCallback

    我正在创建一个使用音频单元的应用程序 虽然 Objective C 中有很多代码示例 包括 Apple 自己的 aurioTouch 等 但我正在尝试用 Swift 编写整个代码 我已经能够设置我的 AUGraph 并通过它运行一些音频 但
  • 在 Objective-C 中,逗号用作语句分隔符时有什么作用?

    我正在查看第三方的一些源代码 并且反复看到对我来说新的语法 基本上他们用逗号而不是分号分隔语句 它可以编译并运行 但我不明白它在做什么 看起来是这样 if url url release url nil 有时他们也会在不使用 if 的情况下
  • cocos2d 2.0-rc2:结束director并重新启动

    我有一款由 cocos2d 驱动的游戏 它使用 UIKit 菜单 所以我只使用一个视图控制器的框架 即游戏本身 而且 它只有一个场景 从cocos2d 2 0开始 director本身就是一个UIViewController子类 所以我只是
  • 将 scanf 与 NSString 一起使用

    我希望用户输入一个字符串 然后将输入分配给 NSString 现在我的代码如下所示 NSString word scanf s word The scanf http www cplusplus com reference clibrary

随机推荐

  • Spring 的 Azure Pipeline Gradle 构建失败

    我尝试通过 Yaml 管道在 Azure 上构建和部署 Spring API 但我在 spring 应用程序 gradle 构建期间收到错误消息 Error home vsts work 1 s gradlew failed with re
  • ionic 5 强制浏览器应用程序的浅色主题

    我已经构建了这个应用程序https cvirus app https cvirus app并在浏览器上构建和部署 在 Android 手机上的 Chrome 浏览器上 它会呈现深色背景 因为默认情况下似乎应用了深色主题 我想在任何地方强制使
  • Postgres LIKE 将列值作为子字符串

    我正在尝试编写一个 WHERE 语句 该语句将匹配列值是另一个字符串的子字符串的行 例如 我可能有一个event记录与name现场Edward Sharpe 我想做这样的事情 SELECT FROM events WHERE name LI
  • 如何在 X 秒后应用 window.close() ?

    我有一个弹出窗口 其中包含 onclick 操作 可以在按下提交按钮时关闭该框
  • UIBezierPath 的橡皮擦

    我正在使用 UIBezierPath 在 iPad 应用程序中进行免费手绘 我想用橡皮擦乌贝济耶路径 questions tagged uibezierpath 不过 我想only擦除其路径中的图形 我cannot使用路径颜色作为背景颜色
  • htmlspecialchars 输出空白

    同时使用 htmlspecialchars 和 htmlentities 会导致项目的空白输出 例如 符号甚至单个 引号 显然 这绝对没用 但是在不使用 html 字符的情况下输出数据会导致 和 都出现此符号 出现这种情况有什么原因吗 这是
  • 填充在 iE 中不起作用?

    我希望内容周围 元素边框内有空间 http www w3schools com CSS css padding asp http www w3schools com CSS css padding asp 我使用了 cellpadding
  • Objectify 查询结果与数据存储查看器结果不一致的问题?

    我正在编写一个基于 TodoMVC angularjs 的示例项目 http todomvc com http todomvc com 并使用带有 Google App Engine Cloud Endpoint 的后端 api 当从 Ap
  • 从 shell 脚本更改 php.ini 值

    我是 shell 脚本的新手 我正在运行 Vagrant 发现自己需要在 php ini 中调整这些设置 upload max filesize 120M post max size 120M max execution time 200
  • 如何在codeigniter中获取父类别的所有子类别和孙类别?

    I want to get all the child and grandchild categories of a parent category upto any level My table structure goes like t
  • 防止未定义的参数

    所以我使用一个对象来传递我的可选变量 如下所示 var foo function options var options options provide a default so that var bar options bar 42 th
  • 为什么 C# 6 中声明表达式被删除?

    在 C 6 的预览中 Microsoft 引入了用于声明内联参数的语法糖 如本文所示 http odetocode com blogs scott archive 2014 09 15 c 6 0 features part 3 decla
  • Java中如何按顺序播放音频文件?

    因此 对于我正在开发的应用程序 我有一堆音频文件 根据某些变量的状态 这些文件可能会也可能不会播放 并且它们播放的顺序也可能会改变 我了解的基础知识setOnCompletionListener 但我无法找出使用它的最佳方法 截至目前 如果
  • 如何使用命令行更改 MySQL 表的外键

    如何使用命令行更改 MySQL 中的现有表 将外键设置到另一个表 你必须放弃现有的foreign key并创建另一个 例如这样 ALTER TABLE my table DROP FOREIGN KEY my key ALTER TABLE
  • xsd 和 xsi 有什么区别?

    到底有什么区别XML 架构文档 and XML 模式实例 xmlns xsd http www w3 org 2001 XMLSchema xmlns xsi http www w3 org 2001 XMLSchema instance
  • 将一列中的文本拆分为每行的多列[重复]

    这个问题在这里已经有答案了 我有以下数据集 Class Range Value A 6 8 19 B 1 3 14 C 5 16 10 D 4 7 5 我想将每个类别的范围分成两列 为此 我使用了该函数str split fixed如下 m
  • Delphi7,按向上键时进行形状​​跳跃

    我想在玩家按下UP键时进行形状 跳跃 所以我能想到的最好的就是这个 但我使用的方法很糟糕并且有问题 形状坐标 shape1 top 432 procedure TForm1 FormKeyDown Sender TObject var Ke
  • 强制整个网站使用 HTTPS 是好做法还是坏做法?

    我有一个网站 当所有内容都采用 HTTPS 身份验证 Web 服务等 时 该网站运行良好 如果我混合使用 http 和 https 则需要更多编码 跨域问题 我似乎没有看到很多完全采用 HTTPS 的网站 所以我想知道这样做是否是一个坏主意
  • 如何在 swiftUI 生命周期中为三列视图添加工具栏分隔符

    我正在寻找一种方法来实现像 Mail app 这样的三列布局的工具栏 此外 Notes app 使用几乎相同的工具栏 两个应用程序之间唯一重要的区别是 Notes app 看起来像WindowStyle is a HiddenTitleBa
  • 即使未实现,uilongpressgesturerecognizer也会崩溃

    我尝试了所有可能的搜索 但一周内没有找到任何类似的东西 我正在制作一个显示表格视图的应用程序 单元格 由自定义类和 Interface Builder 创建 可以使用 UIPanGestureRecognizer 进行拖动 该 UIPanG