我已经找遍了这个整个上午的解决方案,但尚未找到可行的方法。将UITextView光标位置设置为文本结尾
我有一个文本视图,它有一些现有的固定文本,我不希望用户能够修改。在这种情况下,我的每个文本视图都以“1.”,“2”等开头。这个想法是,他们输入的文本将被编号为我以后要做的事情。
我不希望用户能够删除此文本(它本质上是“永久”)。我也不想让他们在这个前期文本的中间添加文本。
为了解决这个问题,我已经做了:
-(BOOL)textView:(UITextView *)textView shouldChangeTextInRange:(NSRange)range replacementText:(NSString *)text
{
if (range.location < 3) return NO;
return YES;
}
这个伟大的工程,但如果用户触摸在我的“1”,“2”等任何地方视图的部分,它会将光标设置在那里,这会阻止用户因为范围位置检查而键入文本。在这种情况下,我想要做的是将光标(可能在textViewDidBeginEditing中)设置为视图中文本的末尾。但是,无论我使用的选定范围的组合是多少,我都无法使辅助光标移动到最后。任何帮助将不胜感激。
更简单的方法是将您的数字放在标签中直接对着文本视图,以便它们看起来像是同一句子的一部分。然后,他们只能改变适当的部分。 – lnafziger