Skip to content

ボタンの画像

Tatsuro Ueda edited this page Mar 6, 2014 · 1 revision

ボタンに画像を付与する

  • ボタンに画像を付与するにはsetImage:forState:メソッドを使う
  • これができるのはボタンのタイプがUIButtonTypeRoundRectかUIButtonTypeCustomのどちらかのときのみ
  • 以下のコードを実行すると、ボタンの左端に画像が表示され、その右側にタイトルが表示される
    UIButton *button = [UIButton buttonWithType:UIButtonTypeSystem];
    button.titleLabel.font = [UIFont boldSystemFontOfSize:24];
    [button setTitle:@"UIButton" forState:UIControlStateNormal];
    button.frame = CGRectMake(50, 50, 150, 40);
    UIImage *image = [UIImage imageNamed:@"Dog.png"];
    [button setImage:image forState:UIControlStateNormal];

ハイライト時

  • 画像を付加した場合、このボタンをタップしてハイライト状態にすると、画像の色が自動的に調整される
  • これは、adjustsImageWhenHighlightedプロパティの効果で、デフォルトではYESに設定されている
  • このadjustsImageWhenHighlightedプロパティを明示的にNOに設定すると、ハイライト時も元の画像をそのまま描画するようになる
  • さらに、ハイライト時の画像をsetImage:forState:メソッドにUIControlStateHighlightedを指定して、ハイライト時の画像を直接指定することも可能である。

ボタン無効時

  • adjustsImageWhenDisabledプロパティはデフォルトでYESになっており、ボタンが無効状態になったときに自動で画像の色が調整される
  • 無効時もsetImage:forState:メソッドにUIControlStateDisabledを指定することで明示的に指定することができる
Something went wrong with that request. Please try again.