Горизонтальный интервал для NSTextAttachment

Я пытаюсь отобразить изображение в UITextField с помощью NSTextAttachment, но я хочу горизонтальное пространство между изображением и текстом. Тем не менее, когда добавить NSKernAttributeName Атрибут для приписанной строки следующим образом сбрасывает высоту вложения на ту же высоту, что и окружающий текст.

var str = NSMutableAttributedString(attributedString: NSAttributedString(attachment: imageAttachment))
str.addAttribute(NSKernAttributeName, value: 10, range: NSRange(location: 0,length: 1))

Есть ли другой способ добавить горизонтальное пространство между изображением и текстом?

1 ответ

Самый прямой способ - в начале строки задать несколько пробелов:

NSTextAttachment *attachment = [[NSTextAttachment alloc] init];
[attachment setImage:[UIImage imageNamed:@"dest_poi_content_quotation"]];
NSString *reviewText = [NSString stringWithFormat:@"  %@", review.text];
NSMutableAttributedString *attributedString = [[NSMutableAttributedString alloc] initWithString:reviewText];
NSAttributedString *attrStringWithImage = [NSAttributedString attributedStringWithAttachment:attachment];
[attributedString insertAttributedString:attrStringWithImage atIndex:0];
[self.lblComment setAttributedText:attributedString];
Другие вопросы по тегам