Note that there are some explanatory texts on larger screens.

plurals
  1. POSetFrame works on iPhone, but not on iPad. Auto resize mask to blame?
    text
    copied!<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>
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload