0

タグ番号が 0、1、2、3 の 4 つのボタンがあります。クリックしたときに色を変更したいです。だからここに私がやっていることがあります:

switch ([sender tag]) {
        case 0:
                   [myButton0 setBackgroundColor:[UIColor redColor]];
                   break;
        case 1:
           [myButton1 setBackgroundColor:[UIColor redColor]];
                    break;
        case 2:
           [myButton2 setBackgroundColor:[UIColor redColor]];
            break;
        case 3:
                   [myButton3 setBackgroundColor:[UIColor redColor]];
           break;
}

私の質問は、タグ番号で背景色を設定するように、コードを短縮する方法があるかどうかです。

ありがとうございました

4

1 に答える 1

1

これが私がやっていることです。colorWithHexValue の UIColor にカテゴリを作成しました。コードを使用できます。

 [signInButton setTitle:@"Sign In" forState:UIControlStateNormal];
signInButton.titleLabel.font = [UIFont boldSystemFontOfSize:15];
gradientLayer = [UIColor setGradientEffect:signInButton initialColor:0x797979 endColor:0x424242];
[[signInButton layer] insertSublayer:gradientLayer atIndex:0]; 
[signInButton setTitleColor:[UIColor colorWithHexValue:0xFFFFFF] forState:UIControlStateNormal];
[signInButton setTitleColor:[UIColor colorWithHexValue:0x000000] forState:UIControlStateSelected];

使ってください

enum {
UIControlStateNormal       = 0,                       
UIControlStateHighlighted  = 1 << 0,                  // used when UIControl isHighlighted is set
UIControlStateDisabled     = 1 << 1,
UIControlStateSelected     = 1 << 2,                  // flag usable by app (see below)
UIControlStateApplication  = 0x00FF0000,              // additional flags available for application use
UIControlStateReserved     = 0xFF000000               // flags reserved for internal framework use

};

于 2012-07-17T14:54:14.240 に答える