UIButton:手动调用touchesBegan未设置isHighlighted

时间:2017-07-17 22:06:39

标签: ios uibutton uicontrolstate

isHighlighted上的UIButton属性大致类似于是否按下按钮。

Apple的文档含糊不清:

  

控件会自动设置并清除此状态以响应   适当的触摸事件。   https://developer.apple.com/documentation/uikit/uicontrol/1618231-ishighlighted

系统调用哪种方法来设置它?

它似乎是touchesBegan,因为您可以覆盖此方法以防止它。

但是,令人惊讶的是,如果你手动调用touchesBegan,它就不会被设置(例如,来自superview--请参阅下面的代码)。

所以它似乎并不像touchesBegan那么简单。我已经尝试覆盖我能做的每一种方法...... pressesBeganpressesChangedpressesCancelledpressesEndedtouchesCancelledbeginTracking,{{ 1}},continueTracking

只有hitTest有效。

以下是我尝试从superview调用touchesBegan的方法:

touchesBegan

0 个答案:

没有答案