13

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

但我不知道 和 之间的UIControlStateHighlighted区别UIControlStateSelected

谁能帮帮我?

谢谢和最好的问候。

4

4 回答 4

18

它们可以表示您想要的任何含义,但通常它们的含义如下:

突出显示 = 用户当前正在与一旦他们停止交互就会改变的事物进行交互(例如按住按钮)

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

于 2013-03-01T07:50:11.603 回答
4
  • UIControlStateHighlighted= 当用户点击时,它会用一些闪光灯(在按钮背景中)突出显示按钮。

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

于 2013-03-01T07:49:42.507 回答
2

来自官方文档:

UIControlStateHighlighted控件的突出显示状态。当在跟踪过程中触摸进入和退出以及发生触摸事件时,控件将进入此状态。您可以通过突出显示的属性检索和设置此值。

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

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

于 2013-03-01T07:49:49.013 回答
1

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

通常,您永远不会手动设置突出显示状态,因为系统将设置/取消设置以响应触摸,而选择更安全。这尤其适用于按钮。

于 2013-03-01T07:51:45.077 回答