【发布时间】:2018-12-06 21:35:57
【问题描述】:
我正在尝试处理分段控件上的点击事件,但是当再次单击所选按钮时。比如下面的截图中已经选择了“秒”,再次点击“秒”按钮时,该如何处理?
我尝试了IBOutlet,但它仅在值更改时触发。然后我尝试了下面的代码,但它仅在值更改时触发相同。在两种情况下,选择“第二”时,再次单击“第二”都不会发射任何东西。有没有办法做到这一点?
segmentedControl.addTarget(self, action: "segementedAnyTap:", forControlEvents: .AllEvents)
【问题讨论】:
-
你想完成什么?分段控件用于在不同选项之间切换,因此只有在所选选项更改时才会收到回调。
-
我的分段控件是:全部和未读。当用户点击未读时,它会显示未读记录,但我想要它,所以当他们再次点击未读时,它会弹出一个警报,询问他们是否确定是否要将所有标记都标记为未读。我不想通过在导航栏中添加一个额外的按钮来将我的应用程序弄乱,只是为了将所有内容标记为已读,因为导航栏中已经有其他按钮了。
-
我认为您可以使用
momentary属性来完成您正在寻找的功能。 developer.apple.com/library/ios/documentation/UIKit/Reference/… -
这似乎会极大地改变分段控件的行为,因为不再跟踪选定的索引,这将破坏现有的功能。我希望获得存储每个段的按钮的子视图并附加一个动作。
-
很抱歉,您的设计需要更改。段控制永远不应该有这样的动作。如果您需要在应用中执行更多操作,请为其添加更多按钮,这并没有什么坏处,但请不要尝试以这种方式更改默认行为。
标签: ios ios8 uisegmentedcontrol iboutlet