title: UITextField shouldChangeTextInRange with attributedText causes scroll strange behaviour
body: <p>I need to capture the typed text, before rendering, in order to apply some attributes to it.</p>
  
  <p>For that i'm using the delegate method shouldChangeTextInRange of the UITextView along with the NSAttributedString. So far so good, and it works. </p>
  
  <p>The problem is, when the UITextView gets a certain amount of text and it starts scrolling, changing the attributedText makes it scroll to the top, while the next char will make it scroll back to the end.</p>
  
  <p>It keeps on that dance moving up and down while typing.. </p>
  
  <p>Setting textview.text, instead of the attributed text, it works n</p>
  
  <p>Any suggestion? </p>
  
  <p>Thanks in advance.</p>
  
  <pre><code>- (BOOL) textView:(UITextView *)textView shouldChangeTextInRange:(NSRange)range replacementText:(NSString *)text
  {
  
      NSAttributedString * newString = [[NSAttributedString alloc] initWithString:text attributes:nil];
      NSMutableAttributedString * string = [[NSMutableAttributedString alloc] initWithAttributedString:_textView.attributedText];
  
      [string insertAttributedString:newString atIndex:range.location];
  
      textView.attributedText = string;
  
      range.location += text.length;
  
      textView.selectedRange = range;
  
      return NO;
  }
  </code></pre>