码迷,mamicode.com
首页 > 移动开发 > 详细

UITextView in iOS7 doesn't scroll

时间:2014-07-08 11:14:15      阅读:225      评论:0      收藏:0      [点我收藏+]

标签:uitextview   scroll   

UITextView in iOS7 has been really weird. As you type and are entering the last line of your UITextView, the scroll view doesn‘t scroll to the bottom like it should and it causes the text to be "clipped".

The problem is due to iOS 7. In the text view delegate, add this code:
- (void)textViewDidChange:(UITextView *)textView {
    CGRect line = [textView caretRectForPosition:
        textView.selectedTextRange.start];
    CGFloat overflow = line.origin.y + line.size.height
        - ( textView.contentOffset.y + textView.bounds.size.height
        - textView.contentInset.bottom - textView.contentInset.top );
    if ( overflow > 0 ) {
        // We are at the bottom of the visible text and introduced a line feed, scroll down (iOS 7 does not do it)
        // Scroll caret to visible area
        CGPoint offset = textView.contentOffset;
        offset.y += overflow + 7; // leave 7 pixels margin
        // Cannot animate with setContentOffset:animated: or caret will not appear
        [UIView animateWithDuration:.2 animations:^{
            [textView setContentOffset:offset];
        }];
    }
}


It worked.


UITextView in iOS7 doesn't scroll,布布扣,bubuko.com

UITextView in iOS7 doesn't scroll

标签:uitextview   scroll   

原文地址:http://blog.csdn.net/cuibo1123/article/details/37546017

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!