每当我在任何按钮(即 UISegmentedControl 按钮)之外单击时,都会单击该按钮。谁能告诉我为啥会这样?

Posted

技术标签:

【中文标题】每当我在任何按钮(即 UISegmentedControl 按钮)之外单击时,都会单击该按钮。谁能告诉我为啥会这样?【英文标题】:Whenever i click just outside any button(which is UISegmentedControl button) also, the button gets clicked. Can anyone tell me why is this happening?每当我在任何按钮(即 UISegmentedControl 按钮)之外单击时,都会单击该按钮。谁能告诉我为什么会这样? 【发布时间】:2014-02-19 06:56:47 【问题描述】:

在我的项目中,我在单击设置为分段控制的按钮时遇到问题。当在按钮外点击时,按钮也会被点击。有谁能解决这个问题吗?

【问题讨论】:

请发布一些代码和按钮的照片。 你能给我们看看你的storyBoard或xib的图片吗 如果您使用的是按钮背景图片,则该按钮的边框可能大于图片尺寸(如果是通过程序创建的按钮) 是的,我正在为按钮使用背景图片。我保持按钮的宽度和高度与其图像大小相同,但仍然存在问题。 :( 您是否以编程方式创建按钮?如果是这样,你能显示你正在创建和设置按钮图像的代码吗? 【参考方案1】:

如果按钮位于导航栏内,那么据我所知,该行为是正常的。我注意到与常规条形按钮项目相同的行为。将条形按钮项拖放到导航栏中,在模拟器中运行应用程序。您会注意到您的鼠标光标可以刚好在按钮边界之外并且仍然激活按钮。发生什么了?我认为系统(导航栏)只是试图预测我们肥胖的原始手指试图触摸的东西。

【讨论】:

所以在这种情况下什么也做不了,对吧?只能像现在这样吗? 嘿,非常感谢您的帮助。你是对的。我通过将 barButton 拖到导航栏来检查它,同样的事情发生了。非常感谢你。 :)【参考方案2】:

可能您已经(以编程方式或通过 IB)将您的操作绑定到错误按钮的

UIControlEvents

值。应该是

UIControlEventTouchUpInside

如果您以编程方式创建了 UIButoon,请检查您是否拥有

[button addTarget:target action:selector forControlEvents:UIControlEventTouchUpInside];

【讨论】:

我正在为按钮使用分段控件。从某种意义上说,我已经制作了按钮 UISegmentedControl

以上是关于每当我在任何按钮(即 UISegmentedControl 按钮)之外单击时,都会单击该按钮。谁能告诉我为啥会这样?的主要内容,如果未能解决你的问题,请参考以下文章

每当我在颤动中运行我的程序时,我在控制台中收到此错误任何解决方案?

每当我在 Visual Studio 2022 中运行任何 Web 应用程序时都会出现证书错误

UILabel 不显示整个文本

每当我单击按钮时,我的应用程序就会崩溃

每当设置一个可移动的按钮时,它就不会在android中被点击

OnClick 触发另一个按钮单击事件