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

コントロールは、一度に複数の状態を持つことができます。選択されたものと強調表示されたものは共存できます。

そのため、状態の組み合わせにタイトルと画像を指定できます。

例えば。

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 などを支払うことができるため、明確な数の紙幣のみが必要です。 .

于 2013-07-10T14:38:51.870 に答える