diff --git a/MessagesTableViewController/JSMessageInputView.m b/MessagesTableViewController/JSMessageInputView.m index 0a0b077..1964d7d 100644 --- a/MessagesTableViewController/JSMessageInputView.m +++ b/MessagesTableViewController/JSMessageInputView.m @@ -138,7 +138,9 @@ - (void)adjustTextViewHeightBy:(CGFloat)changeInHeight { CGRect prevFrame = self.textView.frame; - int numLines = [JSBubbleView numberOfLinesForMessage:self.textView.text]; + + int numLines = MAX([JSBubbleView numberOfLinesForMessage:self.textView.text], + [self.textView.text numberOfLines]); self.textView.frame = CGRectMake(prevFrame.origin.x, prevFrame.origin.y, @@ -149,11 +151,13 @@ 0.0f, (numLines >= 6 ? 4.0f : 0.0f), 0.0f); + + self.textView.scrollEnabled = (numLines >= 6); } + (CGFloat)textViewLineHeight { - return 29.0f; // for fontSize 15.0f + return 30.0f; // for fontSize 15.0f } + (CGFloat)maxLines diff --git a/MessagesTableViewController/JSMessagesViewController.m b/MessagesTableViewController/JSMessagesViewController.m index 39132af..5c6147d 100644 --- a/MessagesTableViewController/JSMessagesViewController.m +++ b/MessagesTableViewController/JSMessagesViewController.m @@ -239,7 +239,7 @@ changeInHeight = (textViewContentHeight + changeInHeight >= maxHeight) ? 0.0f : changeInHeight; - if(!isShrinking) // hackish -- to prevent ugly UI glitch with dynamic sizing of textview + if(!isShrinking) [self.inputView adjustTextViewHeightBy:changeInHeight]; if(changeInHeight != 0.0f) { @@ -258,7 +258,7 @@ inputViewFrame.size.height + changeInHeight); } completion:^(BOOL finished) { - if(isShrinking) // hackish -- to prevent ugly UI glitch with dynamic sizing of textview + if(isShrinking) [self.inputView adjustTextViewHeightBy:changeInHeight]; }];