Ios 什么控制事件开始和结束突出显示UIButton的状态
我正在创建类似钢琴的视图,使用Ios 什么控制事件开始和结束突出显示UIButton的状态,ios,swift,uibutton,uicontrolevents,Ios,Swift,Uibutton,Uicontrolevents,我正在创建类似钢琴的视图,使用ui按钮作为钢琴键。当按钮获取和丢失突出显示状态时,我应该侦听什么UIControlEvents以获取回调 我试图创建UIButton的子类,并为突出显示的添加属性观察器,但效果很好。但是,有时我需要从代码手动设置突出显示状态,这确实会弄糟,因为无法判断事件是用户还是应用程序启动的。获取突出显示状态:UIControlEventTouchDown 丢失突出显示状态:UIControlEventTouchDragOutside为了模拟钢琴键行为,我使用了以下UICon
ui按钮
作为钢琴键。当按钮获取和丢失突出显示状态时,我应该侦听什么UIControlEvents
以获取回调
我试图创建
UIButton
的子类,并为突出显示的添加属性观察器,但效果很好。但是,有时我需要从代码手动设置突出显示状态,这确实会弄糟,因为无法判断事件是用户还是应用程序启动的。获取突出显示状态:UIControlEventTouchDown
丢失突出显示状态:UIControlEventTouchDragOutside
为了模拟钢琴键行为,我使用了以下UIControlEvents
:
self.addTarget(self, action: "pressed", forControlEvents: [.touchDown])
self.addTarget(self, action: "released", forControlEvents: [.touchDragExit, .touchUpInside, .touchUpOutside, .touchCancel])
您认为当从代码中修改突出显示的状态时,您是否会收到任何回调,甚至可以收听AllEvents
?如果我正确理解您的问题,我认为您应该使用UIControlEventTouchUpInside和UIControlEventTouchUpOutside事件可能使用布尔值
作为开/关切换来跟踪状态…您可能还需要touchDragEnter
要触发按下
您可能也不需要touchUpOutside
,因为它必然发生在touchDragExit