I\'m trying to have a variable-height UITextView which changes size to accomodate its contents, but when the frame changes in the size-change animation, one or two keystroke
By default UIView animations disable user interaction for animated view, so possibly (sorry cannot test it now) explicitly enabling user interaction will solve your problem:
[UIView animateWithDuration:0.1
delay:0.0
options: UIViewAnimationOptionAllowUserInteraction
animations:^{
[textView setFrame:CGRectMake(...)];
}
completion:^(void){}];