我正在创建一个应用程序,用户可以在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