title: UIButton staying highlighted when pressed
body: <p>This is quite frustrating and I searched a LOT to no avail.</p>
  
  <p>I have one button. When it is pressed it calls a method that performs a network action (NSURLRequest).</p>
  
  <p>The button should do the following:</p>
  
  <ul>
  <li>When pressed: Show the pressed state image, fire the request method</li>
  <li>After pressed: Show the disabled state of the button until method completes request</li>
  </ul>
  
  <p>The problem is the button is STAYING in the highlighted/pressed state throughout the request. I have attached code I currently have below. </p>
  
  <p>For the Button:</p>
  
  <pre><code>[myButton setBackgroundImage:[UIImage imageNamed:@"defaultbutton"] forState:UIControlStateNormal];
  [myButton setBackgroundImage:[UIImage imageNamed:@"pressedbutton"] forState:UIControlStateHighlighted];
  [myButton setBackgroundImage:[UIImage imageNamed:@"disabledbutton"] forState:(UIControlStateDisabled|UIControlStateSelected)];
  [squishButton addTarget:self action:@selector(reqMethod) forControlEvents:UIControlEventTouchUpInside];
  </code></pre>
  
  <p>In the method at the start of the request:</p>
  
  <pre><code>-(void)reqMethod {
  NSLog(@"Starting request..");
  [myButton setHighlighted:NO];
  [myButton setEnabled:NO];
  [myButton setSelected:YES];
  </code></pre>
  
  <p>When the request completes it hides the normal button and shows a reset button which works fine.</p>