UIControlStateHighlighted和UIControlStateSelected有什么区别?

我正在尝试为UIButton设置一个状态。

但我不知道UIControlStateHighlightedUIControlStateSelected之间的区别。

任何人都可以帮我吗?

感谢和最好的问候。

他们可以expression任何你想要他们,但一般来说,他们的意思是:

突出显示=用户当前正在与某些事物交互,一旦他们停止互动(例如按住button)

选中=项目是当前组中的活动项目(例如,分段控件中的选定项目)。 这只能通过编程设置来实现。

  • UIControlStateHighlighted =当用户点击时,它突出显示带有一些闪光的button(在button背景中)。

  • UIControlStateSelected =它没有突出显示该button。

从官方文档:

UIControlStateHighlighted控件的高亮状态。 一个控制进入这个状态,当一个触摸进入和退出在跟踪过程中,当有一个触摸事件。 您可以通过突出显示的属性检索和设置此值。

UIControlStateSelectedselect控件的状态。 对于许多控制,这个状态对行为或外观没有影响。 但是其他的子类(例如UISegmentedControl类)根据select的状态可能会有不同的外观。 您可以通过选定的属性检索并设置此值。

您的button在触摸事件的反应中highlighted 。 然后它可以在一个组内的selected状态(用于分段控制)。

突出显示通常在控件被触摸时暂时应用,被选为更持久的状态。 设想一个checkboxtypesbutton,当它被触摸时变暗 – 调暗高亮,勾选被选中,未选中未被选中。

通常情况下,您不会手动设置突出显示的状态,因为系统会根据触摸设置/取消设置,而select更安全。 这特别适用于button。