例如:
我试图弄清楚这里发生了什么,我开始输入我通常的调试字符串,我键入“什么”命中空格键,没有空格出现(但这是平常的).我键入了“the”,看起来就像是在上一个单词的末尾被粘在一起.果然没有空间.我可以回去添加空间,一旦我添加了空格,我可以添加其他空格,因为文字换行然后变得有效.
另一个神秘的行为是当你双击空格时,它不会添加一个句点到最后.它用一个句点代替最后一个字符.所以,“什么”的空间变成“哇”.
现在,我正在做一些有趣的事情,字体大小就像我自动调整字体大小,以便文本填充合理范围内提供的空间,但是当我禁用它,我仍然可以重现的行为.唯一的区别是,这个词不是适合一行,而是包裹在下一行.
例如,如果我在第一行输入“什么”空格“它出来的”什么“与”什么“,第二行上的”“”(虽然我只能看到“the”的顶部.此外,这里是textViewDidChange的一些日志信息.
Character textView.text.length --------- -------------------- W 1 h 2 a 3 t 4 <space> 4 t 5 h 6 <space> 7 <---- Here's a wierd one . . . now spaces all ? 8 work fine unless it's resizing
解决方法
Another mysterIoUs behavior is that when you double tap space,it
doesn’t add a period to the end. It replaces the last character with a
period. So,“What” + space + space becomes “Wha.”
那不是神秘的.这意味着您的UITextView使用自动更正.
固定:
UITextView *txtView; // your UITextView [txtView setAutocorrectionType:UITextAutocorrectionTypeNo];
关于空格…因为空间不是一个可绘制的符号,你的UITextView不能测量是大小(宽度不同的对齐方式),所以你的UITextView的contentSize属性将不会改变和行为神秘.您应该手动设置contentSize(您可以使用sizeWithFont:method轻松计算NSString的大小).