u16suzuの blog

日々学んだことのメモブログです。

UIAppearanceを使ってボタンの背景画像を一括で設定する

ボタンがadd subviewされる側のクラスによって指定ができるけど, ちょっと使いづらい. カスタムなボタンを作った方がよいかもしれない.

    UIImage *btnImg = [UIImage imageNamed:@"hoge"];
    UIImage *btnImgHighlighted = [UIImage imageNamed:@"fuga"];
    
    [[UIButton appearance] setBackgroundImage:btnImg forState:UIControlStateNormal];
    [[UIButton appearance] setBackgroundImage:btnImgHighlighted forState:UIControlStateHighlighted];

    [[UIButton appearanceWhenContainedIn:[ViewController class], nil]
     setBackgroundImage:btnImg forState:UIControlStateNormal];
    
    [[UIButton appearanceWhenContainedIn:[ViewController class], nil]
     setBackgroundImage:btnImgHighlighted forState:UIControlStateHighlighted];