我有一个UITextField我通过修改更改通知处理程序内的文本强制格式化.这很有效(一旦我解决了重入问题),但又给我留下了一个唠叨的问题.如果用户将光标移动到字符串末尾以外的某个位置,则我的格式更改会将其移动到字符串的末尾.这意味着用户不能一次插入多个字符到文本字段的中间.有没有办法记住然后重置光标位置UITextField?
在开始之前,让我承认存在类似的问题,一些有答案,另一些没有答案.但是,它们没有解决我的具体问题.如果您知道,请转介我.
现在,当我添加图像时UITextView,我将图像放在光标所在的位置.我通过每次附加5个空格来实现这一点,为图像腾出空间.当光标到达末尾时UItextView,它会一直停留在那里而不会自动移动到下一行,除非我键入一个键.即使我附加空格,它仍然留在那里,所以我的图像只是堆积在那里.我决定添加换行符"\n"以手动将其移动到下一行.现在我有两个问题.首先,即使我有以下条件,只有角落的部分图像显示:
if ((cursorPosition.x + 30) >= message.frame.width) {
message.text = message.text.stringByAppendingString("\n");
}
else {
message.text = message.text.stringByAppendingString(" ");
}
Run Code Online (Sandbox Code Playgroud)
我如何解决这个问题,使它不会走出框架?
其次,因为我手动添加新行,当我删除文本时,光标移动到某个任意位置,这对我来说很奇怪.例如,我可能正在删除第4行的文本,但它只会跳到第2行.任何关于如何解决其中一个或两个的建议都将非常感激.下面是这样的UITextView样子:
编辑:我正在编辑这个,以帮助任何可能有类似问题的人.我想创建一个应用程序,用户可以像我们一样添加文本和图像WhatsApp.我努力做到这一点,直到我建议下面的解决方案.它很棒.希望它可以帮助某人.