gpt4 book ai didi

iphone - ios - 如何找到 UITextView 中文本的可见范围?

转载 作者:IT王子 更新时间:2023-10-29 08:15:37 24 4
gpt4 key购买 nike

如何找到可滚动、不可编辑的 UITextView 中可见的文本?

例如我可能需要显示下一段,然后我想找到当前可见的文本范围并用它来计算合适的范围并使用scrollRangeToVisible:滚动 TextView

最佳答案

我在这里找到了另一个解决方案。在我看来,这是解决这个问题的更好方法。 https://stackoverflow.com/a/9283311/889892

由于 UITextView 是 UIScrollView 的子类,其 bounds 属性反射(reflect)了其坐标系的可见部分。所以这样的事情应该有效:

-(NSRange)visibleRangeOfTextView:(UITextView *)textView {
CGRect bounds = textView.bounds;
UITextPosition *start = [textView characterRangeAtPoint:bounds.origin].start;
UITextPosition *end = [textView characterRangeAtPoint:CGPointMake(CGRectGetMaxX(bounds), CGRectGetMaxY(bounds))].end;
return NSMakeRange([textView offsetFromPosition:textView.beginningOfDocument toPosition:start],
[textView offsetFromPosition:start toPosition:end]);
}

这假定了从上到下、从左到右的文本布局。如果你想让它适用于其他布局方向,你将不得不更加努力。 :)

关于iphone - ios - 如何找到 UITextView 中文本的可见范围?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6067803/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com