允许触摸表格单元格以取消其他当前触摸

Posted

技术标签:

【中文标题】允许触摸表格单元格以取消其他当前触摸【英文标题】:Allow touch on table cell to cancel other current touches 【发布时间】:2010-10-13 23:36:53 【问题描述】:

有没有办法告诉系统取消当前在您的应用中发生的所有触摸事件序列?

在我的应用程序的一部分中,当用户选择特定表格单元格时,我会显示一个新视图。但是,我想确保它们不会同时触摸任何其他按钮。例如,如果他们在选择表格单元格时按住工具栏按钮,我想取消对工具栏按钮的触摸。

UIActionSheet 在显示时会执行这种类型的触摸取消,而这正是我想要做的。

我尝试在UIToolbar 上设置exclusiveTouch,但这似乎没有帮助。而且,工具栏按钮是UIBarButtonItem,因此它本身没有exclusiveTouch 属性。还有其他地方我应该设置可能有帮助的属性吗?

【问题讨论】:

我正在尝试使用自定义操作表自己完成。进展不大,但感兴趣的堆栈跟踪是:-[UIApplication _cancelTouches:withEvent:sendingTouchesCancelled:includingGestures:]; -[UIApplication_cancelAllTouches]; -[UIActionSheet(Private) _presentSheetStartingFromYCoordinate:]; -[UIActionSheet(Private) presentSheetInView:]; 【参考方案1】:

在需要排他性的视图上设置exclusiveTouch;这可能是表格单元格而不是按钮。

虽然您不能直接在UIBarButtonItems 上设置exclusiveTouch,但您可以在工具栏的子视图(ick)上设置它。

【讨论】:

以上是关于允许触摸表格单元格以取消其他当前触摸的主要内容,如果未能解决你的问题,请参考以下文章

选择表格单元格以显示 iOS7 上的新视图崩溃,“无法识别的选择器发送到实例”

iOS - 忽略点击手势

创建一个 Angular 组件来显示一组 html 表格单元格以嵌入到其他表格中

当触摸单元格中的自定义按钮时,我们如何知道表格中触摸了哪个单元格?

触摸时我的表格单元格不会立即突出显示

滑块更改会影响其他表格单元格