我正在调试记录我的操作的UITextView
。
e.g。如果我按下屏幕上的一个特殊按钮,这个UITextView
将显示我刚刚按下的按钮。当我按下更多按钮时会记录更多,所以我可以轻松滚动UITextView
以查看我过去的操作。
因为UITextView
本身不会随着文本的增加而滚动,所以我会尝试在记录某些内容时滚动到最后一行。
我尝试使用下面的 scrollRangeToVisible()方法
history.scrollRangeToVisible(NSMakeRange(count(history.text!) - 1, 1))
此处的历史记录是UITextView
出口。
问题是,此方法始终使UITextView
从开头滚动到指定的NSRange
。更具体地说,它会将视图重置为文本的开头,然后向下滚动到NSRange
所在的位置。我希望它直接scroll
,
有人可以解决这个问题吗?非常感谢。
答案 0 :(得分:6)
此链接(what to use instead of scrollRangeToVisible in iOS7 or TextKit)建议关闭滚动,进行更改然后将其打开。
history.scrollEnabled = NO;
[history scrollRangeToVisible:NSMakeRange(history.text.length - 1,0)];
history.scrollEnabled = YES;
修改
讨论后使用:
解决history.layoutManager.allowsNonContiguousLayout = NO;