gpt4 book ai didi

ios - 将 UITextView 光标位置设置为文本结尾

转载 作者:可可西里 更新时间:2023-11-01 03:23:48 32 4
gpt4 key购买 nike

我整个上午都在寻找解决方案,但还没有找到可行的方法。

我有一个 TextView ,其中包含一些我不希望用户能够修改的现有固定文本。在这种情况下,我的每个 TextView 都以“1.”、“2.”等开头。想法是他们输入的文本将被编号以供我稍后做的事情使用。

我不希望用户能够删除此文本(它本质上是“永久的”)。我也不想让他们开始在此前置文本的中间添加文本。

为了处理这个问题,我做了:

-(BOOL)textView:(UITextView *)textView shouldChangeTextInRange:(NSRange)range replacementText:(NSString *)text 
{
if (range.location < 3) return NO;

return YES;
}

这很好用,除了如果用户触摸我的“1.”、“2.”等 View 部分的任何地方,它会将光标设置在那里,然后阻止用户输入文本,因为范围位置检查。在这种情况下,我想做的是将光标(可能在 textViewDidBeginEditing 中)设置到 View 中文本的末尾。但是,无论我使用什么 selectedRange 组合,我都无法让该死的光标移动到最后。任何帮助将不胜感激。

最佳答案

将光标移动到末尾

textView.selectedRange = NSMakeRange([textView.text length], 0);

或者将光标移动到第三个字符之后

textView.selectedRange = NSMakeRange(3, 0);

另一种可能更好的方法是在用户开始编辑时清除前三个字符,然后在编辑结束后将它们添加回去。

关于ios - 将 UITextView 光标位置设置为文本结尾,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10756836/

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