title: UIControlEventTouchDown for selected button works incorrect
body: <p>I have simple <code>UIButton</code> with two states. I added an action to the <code>button</code> for <code>UIControlEventTouchDown</code> event.  When <code>button</code> is in normal state all works great, method is called when I touch the <code>button</code>. But when <code>button</code> is in <code>selected state</code> nothing happens when I touch <code>button</code>, only when I release finger, the state changes to normal (Like <code>UIControlEventTouchUpInside</code>).</p>
  
  <p>How can I solve this?</p>
  
  <p>I create my button using this method:</p>
  
  <pre><code>- (UIButton *) createButtonWithFrame:(CGRect)frame title:(NSString *)title {
      UIButton *button = [UIButton buttonWithType:UIButtonTypeCustom];
      [button setFrame:frame];
      [button setTitle:title forState:UIControlStateNormal];
      [button setTitleColor:UIColorFromRGB(0x3a3a3a) forState:UIControlStateNormal];
      [button setTitleColor:[UIColor whiteColor] forState:UIControlStateSelected];
      [[button titleLabel] setFont:[UIFont fontWithName:@"Gotham-Bold" size:10]];
      [button setBackgroundImage:[UIImage imageNamed:@"button.png"] forState:UIControlStateNormal];
      [button setBackgroundImage:[UIImage imageNamed:@"button_pressed.png"] forState:(UIControlStateSelected)];
      [button setAdjustsImageWhenHighlighted:NO];
      [button addTarget:self action:@selector(buttonPressed:) forControlEvents:UIControlEventTouchDown];
      return button;
  }
  </code></pre>
  
  <p>And <code>buttonPressed:</code> is like this:</p>
  
  <pre><code>- (void) buttonPressed:(UIButton *)sender {
      [sender setSelected:!sender.selected];
  }
  </code></pre>