我正在创建一个应用程序,用户可以在其中一起在 UITextView 中添加图像和文本并与朋友分享。StackExchange
感谢其他用户,我成功地将图像和文本添加在一起。我现在面临光标定位的一个小问题。
当我插入文本时,光标会按预期移动。但是,当我添加图像时,光标仍保留在图像后面(即最后插入文本的结尾)。下面是我的代码。如何将光标移动到新插入图像的末尾,以便新添加的文本/图像附加到右侧而不是左侧。
UIGraphicsBeginImageContext(CGSizeMake(25, 25));
let img = UIImage(named:change_arr[indexPath.row]);
img?.drawInRect(CGRect(x: 0, y: 0, width: 25, height: 25));
let img1 = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
// Create a NSTextAttachment object which will hold the created emoji
let textAttachment = NSTextAttachment();
// Attach the emoji to the NSTextAttachment object
textAttachment.image = img1;
// Create an NSAttributedString object to hold any dynamic data like the created emoji
var attributedString = NSAttributedString(attachment: textAttachment);
// Add the NSAttributedString to the current position of the cursor
message.textStorage.insertAttributedString(attributedString, atIndex: message.selectedRange.location);
编辑:我已经找到了问题的解决方案。
我只需要selectedRange.location
像这样添加一个:textView.selectedRange.location += 1