Skip to content →

プログラムで複数配置したUIButtonで、どのUIButtonが押されたか判別したい

条件によって数が増減するボタンなど、Storyboardを使わずにUIButtonを生成して配置したいことがあります。

まず、UIButtonを作って配置します。gazouは配列で、画像ファイル名が格納されており、このgazou分だけforで繰り返しボタンを生成しています。

for(int i = 0;i<[gazou count];i++){
  UIButton *btn = [[UIButton alloc] initWithFrame:CGRectMake((i*90),0,50,50)];
  [btn setBackgroundImage:[UIImage imageNamed:[gazou objectAtIndex:i]] forState:UIControlStateNormal];
  [btn addTarget:self action:@selector(action:) forControlEvents:UIControlEventTouchUpInside];
  btn.tag = i;
  [self.view addSubview:btn];
}

今回は背景に画像を入れていて、ボタンがタップされるとactionというメソッドが動くようになっています。そして、ボタンを生成するときに、tagをつけています。このtagを使うことで、どのボタンか判別します。

-(void)action:(UIButton*)button{
    NSLog(@"%d",button.tag);
}

ボタンが押されたときにactionメソッドに飛びますが、ここでbutton.tagでどのtagか判別可能です。あとはif文などで、処理を振り分ければOKです。

[sc name=”ios”][sc name=”engeneer”]

SHARE

PROFILE

入江 慎吾
教える、学べるオンラインメンターサービスMENTAの代表 / 2-30個のサービスをつくり、M&Aで億単位の売却 / 受託開発20年→受託をやめサービス開発に専念→個人開発でつくったMENTAがヒット→ランサーズグループにジョイン / YouTubeで「サービスづくりで生きていく」配信中 / 「自分のサービスで生きていく」をコンセプトに個人開発オンラインサロン「入江開発室」を運営(詳しいプロフィール)

SUBSCRIBE

メールマガジンに登録いただけると、ブログの新着記事をお知らせいたします。(励みにもなります!)また、YouTubeチャンネルでも個人開発・サービスについての情報を発信中です。

SPONSOR

Published in HACK 開発奮闘記