在带有 iOS 8 和 iOS 9 的 iPod 5 / iPad 中运行以下代码会得到以下输出
CGRect textViewFrame;
if(IS_IPHONE_5)
textViewFrame = CGRectMake(0.0f, 64.0f, 320.0f, 390.0f);
else
textViewFrame = CGRectMake(0.0f, 64.0f, 320.0f, 320.0f);
textViewText = [[UITextView alloc] initWithFrame:textViewFrame];
textViewText.returnKeyType = UIReturnKeyDone;
textViewText.delegate = self;
textViewText.backgroundColor = [UIColor clearColor];
[self.view addSubview:textViewText];
[self.textViewText setFont:[UIFont fontWithName:@"PT Mono" size:16]];
[self.textViewText setTextColor:[UIColor colorWithRed:32.0f/255.0f green:32.0f/255.0f blue:32.0f/255.0f alpha:1]];
UITextPosition *beginning = textView.beginningOfDocument;
UITextPosition *start = [textView positionFromPosition:beginning offset:range.location];
UITextPosition *end = [textView positionFromPosition:start offset:range.length];
UITextRange *textRange = [textView textRangeFromPosition:start toPosition:end];
CGRect rect = [textView firstRectForRange:textRange];
rect.size.width = rect.size.width + 2;
rect.origin.x = rect.origin.x - 1;
return [textView convertRect:rect fromView:textView.textInputView];
CGRect rect = [textView firstRectForRange:textRange]; // 这里有问题
iOS 8 输出:{x=0, y=201, width=50, height=19}
iOS 9 输出:{x=0, y=293, width=50, height=19.4}
iOS 9 中的 Y 坐标和高度已更改
UITextView 有什么变化吗?