将光标放在新图像的末尾而不是之前

时间:2015-02-11 11:48:12

标签: ios swift uitextview nsattributedstring nstextstorage

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

0 个答案:

没有答案