UIControlStateHighlighted和UIControlStateSelected之间有什么区别?

时间:2013-03-01 07:44:29

标签: iphone ios objective-c uibutton

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

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

有人可以帮帮我吗?

谢谢和最诚挚的问候。

4 个答案:

答案 0 :(得分:18)

它们可能意味着你想要的任何东西,但一般来说它们意味着以下内容:

突出显示=用户当前正在与一些停止互动时会改变的事物进行互动(例如,按住按钮)

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

答案 1 :(得分:4)

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

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

答案 2 :(得分:2)

来自官方文件:

  

UIControlStateHighlighted 控件的突出显示状态。一个控件   在跟踪期间触摸进入和退出时进入此状态   当有一个补足事件。您可以检索并设置此值   通过突出显示的财产。

     

UIControlStateSelected 控件的选定状态。对于许多控件,   这种状态对行为或外表没有影响。但其他   子类(例如,UISegmentedControl类)可能有   不同的外观取决于他们选择的状态。您可以   通过selected属性检索并设置此值。

您的按钮会因触摸事件而获得highlighted。然后它可以处于组内的selected状态(用于分段控制)。

答案 3 :(得分:1)

突出显示通常在触摸控件时瞬时应用,选择的是更永久的状态。想象一个复选框类型按钮,当它被触摸时变暗 - 调暗突出显示,勾选选中,未选中未选中。

通常,您不会手动设置突出显示状态,因为系统会根据触摸设置/取消设置,而选择更安全。这特别适用于按钮。