title: UIButtons don't respond to touch after set frame on autorotate
body: <p>Hello in my app i have some uiButtons added as subviews to a view like in the picture below.
  <a href="http://img99.imageshack.us/img99/5244/portraitc.png" rel="nofollow noreferrer">alt text http://img99.imageshack.us/img99/5244/portraitc.png</a></p>
  
  <p>when the user rotates the phone in landscape the views and buttons must change position to this:
  <a href="http://img193.imageshack.us/img193/5931/landscapeq.png" rel="nofollow noreferrer">alt text http://img193.imageshack.us/img193/5931/landscapeq.png</a></p>
  
  <p>initially when the view is in portrait mode the buttons respond to touches. If i tilt the phone the buttons move, everything looks ok like in the second image and the buttons respond to touches. If i tilt the phone back to portrait mode, the buttons move back they look ok but they don't respond to touches. If i change back to landscape the buttons work...</p>
  
  <p>my buttons are created like this:</p>
  
  <pre><code>nextNewsP = [[UIButton alloc] initWithFrame:CGRectMake([[UIScreen mainScreen] bounds].size.width - 40, 10, 25, 25)];
  [nextNewsP setImage:[UIImage newImageFromResource:@"next_arrow.png"] forState:UIControlStateNormal];
  [nextNewsP addTarget:self action:@selector(nextNewsAction:) forControlEvents:UIControlEventTouchUpInside];
  [nextNewsP setShowsTouchWhenHighlighted:TRUE];
  [bottomTools addSubview:nextNewsP];
  [nextNewsP release];
  
  previousNewsP = [[UIButton alloc] initWithFrame:CGRectMake([[UIScreen mainScreen] bounds].size.width - 85, 10, 25, 25)];
  [previousNewsP setImage:[UIImage newImageFromResource:@"previous_arrow.png"] forState:UIControlStateNormal];
  [previousNewsP addTarget:self action:@selector(previousNewsAction:) forControlEvents:UIControlEventTouchUpInside];
  [previousNewsP setShowsTouchWhenHighlighted:TRUE];
  [bottomTools addSubview:previousNewsP];
  [previousNewsP release];
  </code></pre>
  
  <p>bottomTools is a view and is added also as a subview like this: </p>
  
  <pre><code>[self.view addSubview:bottomTools];
  [bottomTools release];
  </code></pre>
  
  <p>and my shouldAutorotateToInterfaceOrientation function looks like this:</p>
  
  <pre><code>- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation {
  
  
      [UIView beginAnimations:@"moveViews" context: nil];
  
  
      if(interfaceOrientation == UIInterfaceOrientationPortrait || interfaceOrientation == UIInterfaceOrientationPortraitUpsideDown)
      {
          NSLog(@"set frames for portrait");
          closeView.frame = CGRectMake([[UIScreen mainScreen] bounds].size.width - 30, 2, 23, 25);
          newsInfo.frame = CGRectMake(10, 10, [[UIScreen mainScreen] bounds].size.width - 10, 22);
          internetActivityIndicator.frame = CGRectMake([[UIScreen mainScreen] bounds].size.width - 55, 5, 18, 18);
          industryLabel.frame = CGRectMake([[UIScreen mainScreen] bounds].size.width/2.0 - [industryTitle sizeWithFont:[UIFont systemFontOfSize:14]].width/2, 3, [industryTitle sizeWithFont:[UIFont systemFontOfSize:14]].width, 22);
          bottomTools.frame = CGRectMake(0, [[UIScreen mainScreen] bounds].size.height-40, [[UIScreen mainScreen] bounds].size.width, 40);
          nextNewsP.frame = CGRectMake([[UIScreen mainScreen] bounds].size.width - 40, 10, 25, 25);
          previousNewsP.frame = CGRectMake([[UIScreen mainScreen] bounds].size.width - 85, 10, 25, 25);
      }
      else
      {
          NSLog(@"set frames for landscape");
          closeView.frame = CGRectMake([[UIScreen mainScreen] bounds].size.height - 30, 2, 23, 25);
          newsInfo.frame = CGRectMake(10, 10, [[UIScreen mainScreen] bounds].size.height - 10, 22);
          internetActivityIndicator.frame = CGRectMake([[UIScreen mainScreen] bounds].size.height - 55, 5, 18, 18);
          industryLabel.frame = CGRectMake([[UIScreen mainScreen] bounds].size.height/2.0 - [industryTitle sizeWithFont:[UIFont systemFontOfSize:14]].width/2, 3, [industryTitle sizeWithFont:[UIFont systemFontOfSize:14]].width, 22);
          bottomTools.frame = CGRectMake(0, [[UIScreen mainScreen] bounds].size.width-40, [[UIScreen mainScreen] bounds].size.height, 40);
          nextNewsP.frame = CGRectMake([[UIScreen mainScreen] bounds].size.height - 40, 10, 25, 25);
          previousNewsP.frame = CGRectMake([[UIScreen mainScreen] bounds].size.height - 85, 10, 25, 25);
      }
  
      [UIView commitAnimations];
  
  return YES;
  </code></pre>
  
  <p>}</p>
  
  <p>did you ever had a similar problem? 
  thank you in advance, 
  Sorin</p>