如何在点击外部删除界面元素?

Posted

技术标签:

【中文标题】如何在点击外部删除界面元素?【英文标题】:How to remove interface element on tap outside? 【发布时间】:2013-10-18 12:59:14 【问题描述】:

我有一个自定义的UIControl 元素,一个带有小滚动条的选择器。当我在外面点击时,我想隐藏它。我尝试将 UITapGestureRecognizer 添加到 self.view 但它失败了,因为有很多子视图(复杂的 UICollectionView 单元格)并且它们拦截了这个识别器。

我希望识别器接管任何触摸,我在显示我的选择器的方法中创建它,并在隐藏它时将其删除。

将它添加到窗口也没有帮助,因为设置:

self.hideLePickerRecognizer.cancelsTouchesInView = YES;

我该怎么办?

【问题讨论】:

***.com/questions/10459184/… 和 ***.com/questions/11485100/… 【参考方案1】:

我已经设法做到这一点,方法是在所有视图之上添加具有清晰颜色作为背景颜色的视图。当我点击它时,它会注册点击并执行隐藏选择器的方法,然后它会禁用自身的用户交互。

【讨论】:

以上是关于如何在点击外部删除界面元素?的主要内容,如果未能解决你的问题,请参考以下文章

如何删除 AJAX XML 响应的外部元素 - 第 2 部分

SQL Server里如何删除一个数据库?

怎么用jQuery实现点击按钮后删除某个元素?

如何在元素外部的任何位置隐藏单击事件上的元素?

win10如何删除登录的账户

javascript如何获取点击元素的值