2016-12-26 1 views
0

Я пытаюсь добавить изображение в UILabel с помощью NSAttributedString с NSTextAttachmentприкрепление изображения в качестве первого элемента (слева выравнивается) в NSAttributed строке

func attributedString(string:String)->NSAttributedString { 
    let label:NSMutableAttributedString = NSMutableAttributedString() 

    let string = NSAttributedString(string: string) 
    let attachment = NSTextAttachment() 
    attachment.image = #imageLiteral(resourceName: "WaterIcon") 
    let imageString = NSAttributedString(attachment: attachment) 

    label.append(string) 
    label.append(imageString) 

    return label 
} 

enter image description here

при переключении

label.append(imageString) 
    label.append(string) 

... что я хочу о заказе, изображение вообще не отображается :-(

Как добавить изображение в качестве первого элемента в строке?

enter image description here

ответ

1

Вы Код прекрасно работает для меня с двумя append заявления обмениваемых:

enter image description here

Возможно, существует проблема с как ваша метка размера/позиционируется, или как вы присвоение присваиваемой строки метке. Но вы не указали какую-либо часть этого кода, поэтому кто знает, что вы делаете неправильно?

+0

Большое спасибо за двойную проверку. Я просто заметил, что проблема на самом деле не в коде. Я использовал шаблонное изображение без применения оттенка (это даже работает в NSTextAttachment ...?). Таким образом, изображение было в нужном месте, но оно не визуально отображалось. Но я мог видеть, что это позволяет использовать «Color Blended Layers» в Simulator. Спасибо, что помогли мне найти проблему! – Bernd

+0

Да, часто очень упрощенный тест показывает, что проблема не в том, что вы думаете! Рад помочь. Использование вами параметра Color Blended Layers было умной идеей. – matt

Смежные вопросы