title: UIButton won't change picture when HighLighted, will only set picture to grey
body: <p>I want the picture to turn yellow the second the user touches it. Right now on first tap the image turns a bit grey and on release turns yellow.
  Second tap the picture would go back to red instantly. How can i fix this?</p>
  
  <pre><code>-(void)bMethod:(UIButton*)sender
  {
      sender.selected = !sender.selected;    
  }
  
  - (void)viewDidLoad
  {        
      [super viewDidLoad];
      UIButton *myButton = [UIButton buttonWithType:UIButtonTypeCustom];
      UIImage *buttonImage = [UIImage imageNamed:@"red.png"];
      UIImage *buttonImageSelected = [UIImage imageNamed:@"yellow.png"];
      myButton.frame = CGRectMake(200, 200, 40, 40);
      [myButton addTarget:self action:@selector(bMethod:) forControlEvents:UIControlEventTouchDown];
      [myButton setImage:buttonImage forState:UIControlStateNormal];
      [myButton setImage:buttonImageSelected forState:UIControlStateSelected];
      [myButton setImage:buttonImageSelected forState:UIControlStateHighlighted];
      [self.view addSubview:myButton];
  </code></pre>