如何在点击外部删除界面元素?
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】:我已经设法做到这一点,方法是在所有视图之上添加具有清晰颜色作为背景颜色的视图。当我点击它时,它会注册点击并执行隐藏选择器的方法,然后它会禁用自身的用户交互。
【讨论】:
以上是关于如何在点击外部删除界面元素?的主要内容,如果未能解决你的问题,请参考以下文章