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将触摸事件应用于每次点击事件