Swift 禁用 touchesEnded
Swift disable touchesEnded
我试图在有人单击按钮时在我的代码中禁用 TouchesEnded 事件。当用户点击另一个按钮时,TouchesEnded 应该再次被激活。
因此,为了了解我的应用程序的功能,每次您点击屏幕时,屏幕上的文字都会发生变化。但是当用户点击按钮 a 时,这个触摸事件应该被禁用。当用户点击按钮 b 时,它应该再次被激活。
我已经尝试过 self.view.isUserInteractionEnabled = false
,但是我无法再次点击按钮激活 userInteraction。
有人知道如何解决这个问题吗?
根据您描述的行为,我假设您的按钮是正在切换的视图的子视图 isUserInteractionEnabled
?将该标志设置为 false 也会阻止用户在视图的子视图上进行交互。您可以通过调整视图层次结构来解决此问题,使您的按钮和 self.view
成为兄弟姐妹:也就是创建一个容器视图,将按钮和您引用的 self.view
作为子项。
“禁用 TouchesEnded 事件”没有意义。
您需要启用或禁用按钮并让事件正常发送。或者,如您所说,您可以使用 isUserInteractionEnabled=false 使按钮不再响应点击。
编辑:
重读你的post后,我想我明白你在说什么了:
“每次单击屏幕时,屏幕上的文本都会发生变化”- 这意味着单击按钮以外的任何地方。
"但是当用户点击按钮a时,这个触摸事件应该被禁用。当用户点击按钮b时,它应该被再次激活。"
所以您希望按钮点击 disable/enable 点击屏幕上的其他地方。
我建议使用附加到视图控制器内容视图的点击手势识别器 (UITapGestureRecognizer
)。那些在开火时会触发一个动作,并且有一个 isEnabled 属性。如果您将其设置为 false,点击手势识别器将停止响应点击。
我试图在有人单击按钮时在我的代码中禁用 TouchesEnded 事件。当用户点击另一个按钮时,TouchesEnded 应该再次被激活。
因此,为了了解我的应用程序的功能,每次您点击屏幕时,屏幕上的文字都会发生变化。但是当用户点击按钮 a 时,这个触摸事件应该被禁用。当用户点击按钮 b 时,它应该再次被激活。
我已经尝试过 self.view.isUserInteractionEnabled = false
,但是我无法再次点击按钮激活 userInteraction。
有人知道如何解决这个问题吗?
根据您描述的行为,我假设您的按钮是正在切换的视图的子视图 isUserInteractionEnabled
?将该标志设置为 false 也会阻止用户在视图的子视图上进行交互。您可以通过调整视图层次结构来解决此问题,使您的按钮和 self.view
成为兄弟姐妹:也就是创建一个容器视图,将按钮和您引用的 self.view
作为子项。
“禁用 TouchesEnded 事件”没有意义。
您需要启用或禁用按钮并让事件正常发送。或者,如您所说,您可以使用 isUserInteractionEnabled=false 使按钮不再响应点击。
编辑:
重读你的post后,我想我明白你在说什么了:
“每次单击屏幕时,屏幕上的文本都会发生变化”- 这意味着单击按钮以外的任何地方。
"但是当用户点击按钮a时,这个触摸事件应该被禁用。当用户点击按钮b时,它应该被再次激活。"
所以您希望按钮点击 disable/enable 点击屏幕上的其他地方。
我建议使用附加到视图控制器内容视图的点击手势识别器 (UITapGestureRecognizer
)。那些在开火时会触发一个动作,并且有一个 isEnabled 属性。如果您将其设置为 false,点击手势识别器将停止响应点击。