首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >快速禁用touchesEnded

快速禁用touchesEnded
EN

Stack Overflow用户
提问于 2021-01-15 15:10:20
回答 2查看 258关注 0票数 1

当有人单击按钮时,我试图禁用代码中的TouchesEnded事件。当用户单击另一个按钮时,应该再次激活TouchesEnded。

因此,为了理解我的应用程序所做的,每次点击屏幕时,屏幕上的文本都会发生变化。但是当用户单击Button a时,应该禁用此触摸事件。当用户单击按钮b时,应该再次激活它。

我已经尝试过self.view.isUserInteractionEnabled = false了,但是我无法再次单击按钮来激活userInteraction。

有谁知道如何解决这个问题吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2021-01-15 15:20:09

从您描述的行为来看,我假设您的按钮是切换isUserInteractionEnabled的视图的子视图?将该标志设置为false也会阻止用户在视图的子视图上进行交互。您可以通过调整视图层次结构来修复这个问题,以便您的按钮和self.view是兄弟关系:也就是创建一个容器视图,其中包含按钮和作为子元素引用的self.view

票数 0
EN

Stack Overflow用户

发布于 2021-01-15 15:50:41

“禁用TouchesEnded事件”是没有意义的。

您需要启用或禁用按钮,并让事件按正常方式发送。或者,正如您所说的,您可以使用isUserInteractionEnabled=false使按钮不再响应点击。

编辑:

在重读你的帖子后,我想我明白你的意思了:

  1. “每次单击屏幕时,屏幕上的文本都会发生变化”--这意味着单击除按钮以外的任何位置。

  1. “但是当用户单击按钮a时,这个触摸事件应该被禁用。当用户单击按钮b时,它应该再次被激活。”

因此,您希望单击按钮来禁用/启用屏幕上其他地方的按钮。

我建议使用附加到视图控制器的内容视图的点击手势识别器(UITapGestureRecognizer)。这些操作在触发时触发,并具有isEnabled属性。如果将其设置为false,则点击手势识别器将停止对抽头的响应。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/65738579

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档