title: UIButton addTarget does not work
body: <p>ViewController:</p>
  
  <pre><code>@implementation PaiLifeViewController
  @synthesize detail = _detail;
  - (void)viewDidLoad
  {
      [super viewDidLoad];
      // Do any additional setup after loading the view, typically from a nib.
      UIImage *i = [UIImage imageNamed:@"menu_patcode_normal"];
      UIButton *c1 = [[UIButton alloc] init];
      c1.tag = 11;
      UIButton *c2 = [[UIButton alloc] init];
      c2.tag = 12;
      UIButton *c3 = [[UIButton alloc] init];
      c3.tag = 13;
      UIButton *c4 = [[UIButton alloc] init];
      c4.tag = 21;
      UIButton *c5 = [[UIButton alloc] init];
      c5.tag = 22;
      UIButton *c6 = [[UIButton alloc] init];
      c6.tag = 23;
      UIButton *c7 = [[UIButton alloc] init];
      c7.tag = 31;
      UIButton *c8 = [[UIButton alloc] init];
      c8.tag = 32;
      UIButton *c9 = [[UIButton alloc] init];
      c9.tag = 33;
  
      [c1 setBackgroundImage:i forState:UIControlStateNormal];
      [c2 setBackgroundImage:i forState:UIControlStateNormal];
      [c3 setBackgroundImage:i forState:UIControlStateNormal];
      [c4 setBackgroundImage:i forState:UIControlStateNormal];
      [c5 setBackgroundImage:i forState:UIControlStateNormal];
      [c6 setBackgroundImage:i forState:UIControlStateNormal];
      [c7 setBackgroundImage:i forState:UIControlStateNormal];
      [c8 setBackgroundImage:i forState:UIControlStateNormal];
      [c9 setBackgroundImage:i forState:UIControlStateNormal];
  
      NSArray *c = [[NSArray alloc] initWithObjects:c1,c2,c3,c4,c5,c6,c7,c8,c9, nil];
      _detail= [[PaiLifePageDetail alloc] initWithDataSource:c pageIndex:1];
      for (UIButton *b in c)
      {
          [b addTarget:self action:@selector(clicked:) forControlEvents:UIControlEventTouchUpInside];
      }
      [self.view addSubview:_detail];
  }
  
  - (void) clicked : (UIButton *) button
  {
      NSLog(@"button = %i", button.tag);
  }
  
  @end
  </code></pre>
  
  <p>Custom View:</p>
  
  <pre><code>@implementation PaiLifePageDetail
  #define MARGINTOTOP 120.0
  #define MARGINTOLEFT 20.0
  #define WIDTH 80.0
  #define HEIGHT 60.0
  
  - (id) initWithDataSource : (NSArray *) dataSource pageIndex : (int) pageIndex;
  {
      self = [super init];
      if (self)
      {
          if (dataSource)
          {
              for (UIButton *button in dataSource)
              {
                  //page 1 line 1
                  if (pageIndex == 1)
                  {
                      if (button.tag == 11)
                      {
                          button.frame = CGRectMake(MARGINTOLEFT, MARGINTOTOP, WIDTH * 2 + 20, HEIGHT);
                          [self addSubview:button];
                      }
                      else if (button.tag == 12)
                      {
                          button.frame = CGRectMake(MARGINTOLEFT + WIDTH * 2 + 20 * 2, MARGINTOTOP, WIDTH, HEIGHT);
                          [self addSubview:button];
                      }
                  }
                  //not page 1 line 1
                  else
                  {
                      if ( button.tag == 11 )
                      {
                          button.frame = CGRectMake(MARGINTOLEFT, MARGINTOTOP, WIDTH, HEIGHT);
                          [self addSubview:button];
                      }
                      else if ( button.tag == 12 )
                      {
                          button.frame = CGRectMake(MARGINTOLEFT + WIDTH + 20, MARGINTOTOP, WIDTH, HEIGHT);
                          [self addSubview:button];
                      }
                      else if ( button.tag == 13 )
                      {
                          button.frame = CGRectMake(MARGINTOLEFT + (WIDTH + 20) * 2, MARGINTOTOP, WIDTH, HEIGHT);
                          [self addSubview:button];
                      }
                  }
  
                  // line 2
                  if ( button.tag == 21 )
                  {
                      button.frame = CGRectMake(MARGINTOLEFT, MARGINTOTOP + HEIGHT + 20, WIDTH, HEIGHT);
                      [self addSubview:button];
                  }
                  else if ( button.tag == 22 )
                  {
                      button.frame = CGRectMake(MARGINTOLEFT + WIDTH + 20, MARGINTOTOP + HEIGHT + 20, WIDTH, HEIGHT);
                      [self addSubview:button];
                  }
                  else if ( button.tag == 23 )
                  {
                      button.frame = CGRectMake(MARGINTOLEFT + (WIDTH + 20) * 2, MARGINTOTOP + HEIGHT + 20, WIDTH, HEIGHT);
                      [self addSubview:button];
                  }
  
                  // line 3
                  if ( button.tag == 31 )
                  {
                      button.frame = CGRectMake(MARGINTOLEFT, MARGINTOTOP + (HEIGHT + 20) * 2, WIDTH, HEIGHT);
                      [self addSubview:button];
                  }
                  else if ( button.tag == 32 )
                  {
                      button.frame = CGRectMake(MARGINTOLEFT + WIDTH + 20, MARGINTOTOP + (HEIGHT + 20) * 2, WIDTH, HEIGHT);
                      [self addSubview:button];
                  }
                  else if ( button.tag == 33 )
                  {
                      button.frame = CGRectMake(MARGINTOLEFT + (WIDTH + 20) * 2, MARGINTOTOP + (HEIGHT + 20) * 2, WIDTH, HEIGHT);
                      [self addSubview:button];
                  }
              }
          }
      }
      return self;
  }
  
  @end
  </code></pre>
  
  <p><img src="https://i.stack.imgur.com/XsUXU.png" alt="enter image description here"></p>
  
  <p><img src="https://i.stack.imgur.com/Fdwa4.png" alt="enter image description here"></p>
  
  <p>But when I click these buttons , they do not work at all , please help me with this, thank you very much.</p>