您的位置:首页 > 产品设计 > UI/UE

iOS7下UITextView最后一行光标位置问题

2014-04-15 15:36 579 查看
iOS7下UITextView会出现一个小小的问题,光标在最后一行的时候会被遮挡
- (void)textViewDidChange:(UITextView *)textView
{
if ([[[UIDevice currentDevice] systemVersion] floatValue] >= 7.0f)
{
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];
}];
}
}
}


参考资料来自stackoverflow
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
相关文章推荐