isHighlighted
上的UIButton
属性大致类似于是否按下按钮。
Apple的文档含糊不清:
控件会自动设置并清除此状态以响应 适当的触摸事件。 https://developer.apple.com/documentation/uikit/uicontrol/1618231-ishighlighted
系统调用哪种方法来设置它?
它似乎是touchesBegan
,因为您可以覆盖此方法以防止它。
但是,令人惊讶的是,如果你手动调用touchesBegan
,它就不会被设置(例如,来自superview--请参阅下面的代码)。
所以它似乎并不像touchesBegan
那么简单。我已经尝试覆盖我能做的每一种方法...... pressesBegan
,pressesChanged
,pressesCancelled
,pressesEnded
,touchesCancelled
,beginTracking
,{{ 1}},continueTracking
等
只有hitTest
有效。
以下是我尝试从superview调用touchesBegan的方法:
touchesBegan