SIGABRT 每次触摸点击,不一致的 iPad iOS

Posted

技术标签:

【中文标题】SIGABRT 每次触摸点击,不一致的 iPad iOS【英文标题】:SIGABRT on every touch click, inconsistent iPad iOS 【发布时间】:2013-12-28 18:00:13 【问题描述】:

假设有一个工作的 iPad 应用程序。 它在 TextField 的末尾有一个 TextField 和一个小按钮(箭头)。当点击小箭头时,它应该显示建议的选项。(如 UiPopOver)

新要求是,不仅在单击箭头按钮时,即使在触摸 Textfield 时,也应显示弹出框。

箭头按钮 touchUpside 事件中的 show() 方法:

UIPopoverController activityPopover = [[UIPopoverController alloc] initWithContentViewController:activityViewController];
[activityPopover presentPopoverFromBarButtonItem:self.view permittedArrowDirections:UIPopoverArrowDirectionAny animated:YES];

隐藏方法:

 [activityPopover dismissPopoverAnimated:YES];

我所做的非常简单。 在文本字段中添加了手势事件,任何单击它都会触发箭头按钮单击。

[button sendActionsForControlEvents:UIControlEventTouchUpInside];

但是在添加了上面的代码之后,我的应用程序开始随机崩溃。我无法追踪这种模式。我尝试设置断点,但找不到任何东西。它只显示中断 SIGABRT 和崩溃。没有写入日志。

注释上面的代码,效果很好。

我不知道如何追踪问题。

有什么帮助吗?

【问题讨论】:

不是解决方案而是替代方案,您应该尝试使用UITextField 委托方法textFieldDidBeginEditing: 来触发activityPopover 的显示。将减少自定义事件并可能降低错误概率 presentPopoverFromBarButtonItem 方法需要 UIBarButtonItem,但看起来您传递的是 UIView。尝试改用presentPopoverFromRect 【参考方案1】:

在我的情况下,我遇到了类似的情况,因为当触摸按钮时,按钮事件被触发了两次。很可能,SingleTap 手势和按钮点击事件同时触发,并尝试禁用按钮上的 UserIneraction,并直接调用关联的方法,而不是触发按钮事件!我不确定这是根本原因。我也不是专业人士!

祝你好运!

【讨论】:

我会试试这个,我刚刚用breakoonts测试并确认,在触摸按钮时,按钮事件被调用两次,因为我添加了额外的......!

以上是关于SIGABRT 每次触摸点击,不一致的 iPad iOS的主要内容,如果未能解决你的问题,请参考以下文章

使用javascript / jQuery将触摸事件应用于每次点击事件

滚动 HTML <select> 列表时 iPad 未检测到触摸

有没有办法改变 ipad 上的最小触摸接触直径?

在 iPad/iPhone 模拟器上模拟超过 2 次触摸

android平板触摸屏全部失灵

滚动后,在错误区域检测到触摸(iPad / 网站)