1

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

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

1 回答 1

0

一个控件一次可以有多个状态,例如。selected 和 highlight 可以共存,依此类推。

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

例如。

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

位掩码用于为每个值组合生成唯一值 - 使用按位或尝试它们,您会得到它。它与 1 美元、2 美元、5 美元、10 美元等能够支付任何整数金额的纸币并没有太大的不同,例如 1 美元和 2 美元的钞票可以用来支付 3 美元、4 美元等等,所以你只需要确定数量的钞票.

于 2013-07-10T14:38:51.870 回答