title: SetFrame works on iPhone, but not on iPad. Auto resize mask to blame?
body: <p>I'm trying to resize a UITextView when the keyboard shows. On iPhone it works beautifully. When the the system dispatches a keyboard notification, the text view resizes. When it's done editing, I resize it to fill in the initial space. (Yes, I'm assuming the keyboard is gone when the editing stops. I should change that. However, I don't think that's my issue.)</p>
  
  <p>When I resize the textview on the iPad, the frame resizes correctly, but the app seems to reset the Y value of the frame to zero. Here's my code:</p>
  
  <pre><code>- (void) keyboardDidShowWithNotification:(NSNotification *)aNotification{
  
  //
  //  If the content view being edited
  //  then show shrink it to fit above the keyboard.
  //
  
  if ([self.contentTextView isFirstResponder]) {
  
      //
      //  Grab the keyboard size "meta data"
      //
  
      NSDictionary *info = [aNotification userInfo];
      CGSize kbSize = [[info objectForKey:UIKeyboardFrameBeginUserInfoKey] CGRectValue].size;
  
      //
      //  Calculate the amount of the view that the keyboard hides.
      //
      //  Here we do some confusing math voodoo.
      //
      //  Get the bottom of the screen, subtract that 
      //  from the keyboard height, then take the 
      //  difference and set that as the bottom inset 
      //  of the content text view.
      //
  
      float screenHeightMinusBottom = self.contentTextView.frame.size.height + self.contentTextView.frame.origin.y;
  
      float heightOfBottom = self.view.frame.size.height - screenHeightMinusBottom;
  
  
      float insetAmount = kbSize.height - heightOfBottom;
  
      //
      //  Don't stretch the text to reach the keyboard if it's shorter.
      //
  
      if (insetAmount &lt; 0) {
          return;
      }
  
      self.keyboardOverlapPortrait = insetAmount;
  
      float initialOriginX = self.contentTextView.frame.origin.x;
      float initialOriginY = self.contentTextView.frame.origin.y;
  
      [self.contentTextView setFrame:CGRectMake(initialOriginX, initialOriginY, self.contentTextView.frame.size.width, self.contentTextView.frame.size.height-insetAmount)];
  
  
  }
  </code></pre>
  
  <p>Why would this work on iPhone, and not work on iPad? Also, can my autoresize masks be making an unexpected change?</p>