控制状态如何在UIControl中工作?

时间:2013-07-10 14:16:14

标签: ios enums uibutton uicontrol bitmask

我正在开发一个使用UIButton的ios项目。我使用了[cardButton setTitle:card.contents forState:UIControlStateSelected|UIControlStateDisabled];但我并不完全理解这个机制。我知道它是emun和bitmask进程。任何人都可以向我解释一下吗?感谢。

enum {
   UIControlStateNormal               = 0,
   UIControlStateHighlighted          = 1 << 0,
   UIControlStateDisabled             = 1 << 1,
   UIControlStateSelected             = 1 << 2,
   UIControlStateApplication          = 0x00FF0000,
   UIControlStateReserved             = 0xFF000000
};

1 个答案:

答案 0 :(得分:0)

控件可以有more than one states at a time例如。选中和突出显示可以共存,等等。

因此,您可以为状态组合指定标题和图像。

EG。

UIButton * button;
//initialization code
NSString * title = @"Title";
[button setTitle:title forState:UIControlStateHighlighted | UIControlStateSelected];
title = [button titleForState:UIControlStateHighlighted | UIControlStateSelected];

使用位掩码为每个值的每个组合生成唯一值 - 使用按位OR尝试它们,您将得到它。与1美元,2美元,5美元,10美元等能够支付任何整数金额的货币票据不同,例如1美元和2美元的账单可以用来支付3美元,4美元等等,所以你只需要一定数量的账单。